Das Design der Toolbar-Anwendungsminiatur auf Vista wird nicht aktualisiert, wenn eine Anwendung minimiert wird, da das minimierte Fenster selbst nicht neu gezeichnet wird. Für eine Überwachungsanwendung, die ich habe, wäre es nützlich, das Anwendungsminiaturbild zu aktualisieren, während die Anwendung minimiert bleibt. Ich verwende Delphi 2009. Kann jemand eine gute Abhilfe für dieses vorschlagen?Vista-Anwendung thumbnail
HMCGAntwort
Das ist interessant Ich denke, es mit dem Windows-API in irgendeiner Weise möglich ist, ich bin nicht auf einem Vista-Rechner im Moment, aber ich denke, Windows Media Player noch die Video-Wiedergabe zeigt, wenn minimiert .
Ich vermute, ein Hack wäre, die Minimieren-Schaltfläche zu überschreiben und das Formular aus dem Bildschirm zu verschieben, dann erkennen, dass das Formular wieder aktiv wird und es zurück an den alten Speicherort verschiebt. Dies würde bedeuten, dass das Formular nicht sichtbar, aber nicht minimiert ist.
Ich habe Application.Title in der Vergangenheit geändert, um einige Informationen in der Taskleiste anzuzeigen. Ich nehme an, dass dies ein Neuzeichnen des Symbols verursacht?
Ich glaube nicht, das OP fragt nach dem Symbol auf der Taskleiste, aber das Thumbnail ("Mini-Screenshot"), das in Vista angezeigt werden kann, damit Sie wissen, was das Fenster enthält, bevor Sie es wechseln. –
Das Ändern des Application.Title scheint die Beschriftung der Taskleistenschaltfläche nicht mehr zu ändern. Ändern der Hauptformularbegriff, aber leider nicht neu zeichnen das Symbol (oder neu gezeichnet es mit dem gleichen Bild, vielleicht.) – HMcG
Ich weiß nicht, ob this workaround noch in Delphi 2009 funktioniert: überschreiben CreateParams, um GetDesktopWindow als WndParent festzulegen.
Ja, das scheint immer noch in D2009 in Vista zu arbeiten, und die zweite Form hat auch ein Thumbnail, aber die Die Miniaturansicht wird bei der App nicht aktualisiert. ist minimiert. Nützlicher Trick, und das Verschieben des zweiten Fensters vom Bildschirm könnte mir den gewünschten Effekt geben. BTW, dies mit einem modalen Fenster zu tun hat einige "interessante" Nebenwirkungen ...... – HMcG
Sollte dieser Trick notwendig sein, wenn Sie Application.MainFormOnTaskbar: = true? – Vegar
MainFormOnTaskBar wurde in Delphi 2007 eingeführt, wenn ich mich nicht irre, und dieser Trick stammt aus dieser Zeit. –
In Delphi 2007 Ihr Hauptformular ist auf der Taskleiste, wenn Sie
Application.MainFormOnTaskbar := True;
gesetzt zu halten, zu aktualisieren, dann müssen Sie Ihre Anwendung zu verhindern, zu minimieren und stattdessen nur um es nach hinten zu bewegen. Sie können dies tun, indem Sie TApplicationEvents auf das Formular setzen und dem Ereignis OnMinimize einen Ereignishandler zuweisen und dann Application.Restore dort aufrufen. Sie sollten Ihren eigenen Minimierungsstatus verfolgen und sicherstellen, dass Sie alle anderen Formulare ausblenden (wenn Sie sie haben) und nur Ihr Hauptformular sichtbar haben, aber in der niedrigsten Z-Reihenfolge, wenn es "minimiert" ist.
Ich glaube nicht, dass Windows Vista Sie Formulare aus dem Bildschirm verschieben können, oder Sie könnten nur tun. Vielleicht gibt es da einen Hack.
Viel Glück!
Ich habe something in a Microsoft development forum gefunden, das dieses Thema behandelt. Die Frage war, über eine Möglichkeit, eine benutzerdefinierte Miniaturansicht zur Verfügung zu stellen, auf denen Microsofts Leonardo Blanco reagierte mit diesem:
Wir tun nicht [t] Plan ein Mittel für eine App, um eine individuellen alternative Miniaturdarstellung zu erstellen, aber wir werden eine API zur Verfügung stellen aus dem normalen Miniaturbild entscheidet ganz ....
Es sieht aus wie diese Pläne haben in der Zwischenzeit geändert könnte, von der Existenz in MSDN der Funktionen zu urteilen DwmSetIconicLivePreviewBitmap
und DwmSetIconicThumbnail
für Windows 7. Gerade jetzt diese Einträge don Sie enthalten wirklich keine Erklärungen, aber ihre Namen sehen vielversprechend aus.
Jemand wies darauf hin, dass das Miniaturbild für Windows Media Player bewegte Videos anzeigt, während das Fenster minimiert ist.Blanco Erklärung:
WMP verwendet eine neue Video-Pipeline, die direkt an den [Desktop Window Manager] spricht eine flüssigere Wiedergabe Erfahrung zu erreichen. Diese Pipeline basiert auf [DirectX] und ist nicht abhängig von Informationen zur Fenstersichtbarkeit, sodass das Thumbnail am Leben erhalten werden kann, auch wenn das Fenster minimiert ist, wie solange die App Frames weitergibt. Sie bemerken vielleicht, jedoch, dass die Benutzeroberfläche um das Video nicht mehr live ist (das ist schwierig zu beobachten, weil die Benutzeroberfläche um das Video normalerweise nicht aktualisiert wird). Für ein bisschen mehr Informationen über diese Methode, siehe die
DwmSetPresentParameters
API.
Ich fürchte, ich kann nichts mehr darüber finden. Die Dokumentation für DWM-Funktionen ist spärlich.
Angesichts der Art Ihrer Anwendung, ist es vielleicht eine Überlegung wert gadget in der Windows Sidebar zu leben.
Danke für den Link. Im Moment verschieben Sie das Formular nicht auf dem Bildschirm, sondern minimieren das Problem. Vielleicht bietet Windows 7 langfristig eine bessere Lösung. – HMcG
Gehen Sie zu Ihrem Quellprojekt und ändern Sie Application.MainFormOnTaskbar auf false: Application.MainFormOnTaskbar: = false;
Grüße, Mauricio
- 1. Ist das eingebettete Thumbnail von jpeg gleich dem EXIF-Thumbnail?
- 2. Thumbnail zeigen Problem
- 3. Thumbnail Galerie Höhe Problem
- 4. Attachment_Fu thumbnail width
- 5. Convert Bitmap zu Thumbnail
- 6. Versucht, Djangos Sorl-thumbnail
- 7. Bildqualität während Thumbnail machen
- 8. Größeres Bild zum Thumbnail
- 9. Bootstrap Thumbnail min Breite
- 10. iDangerous Swiper, Thumbnail Kontrolle
- 11. Twitter Bootstrap thumbnail border
- 12. Wordpress Theme Leuchtkasten Thumbnail
- 13. Get Thumbnail des Hintergrundfensters
- 14. image thumbnail issue
- 15. wie man thumbnail
- 16. Magento Kategorie Thumbnail
- 17. Video thumbnail return null
- 18. Laravel - Thumbnail Generator Installation
- 19. Weißraum in thumbnail
- 20. Thumbnail video C#
- 21. Sorl-thumbnail funktioniert nicht
- 22. Bootstrap Zentrierung ungerade thumbnail
- 23. Youtube python: get thumbnail
- 24. iPhone RSS thumbnail
- 25. Android Gallery Thumbnail Bilder
- 26. FFMpeg video thumbnail Rahmen Extraktion
- 27. MediaStore Thumbnail Bilder sieht verschwommen
- 28. URL-Beschreibung und Thumbnail-API
- 29. Glide Load Thumbnail funktioniert nicht
- 30. Thumbnail-Zugriff über For-Schleife.
das Formular aus dem Bildschirm würde wahrscheinlich bewegen arbeiten, aber ein bisschen ein bodge scheint. Nicht diese Bodies sind ausgeschlossen, obwohl .............. HMCG – HMcG
Windows Media Player ist in der Tat diesen Trick gelungen. Es sei denn natürlich, sie übersteuern nur den Minimieren-Knopf und verschieben das Formular vom Bildschirm. – HMcG
Ich habe gesagt, es ist ein Hack dort ist wahrscheinlich eine richtige Methode, aber wenn Sie es brauchen zu arbeiten und kann keine Lösung finden, ich glaube nicht, dass es Probleme verursachen wird. – PeteT