![]() |
TAppButton - Application Button like Firefox (experimentell)
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,
übers Wochenende hatte ich Lust, mich an einem Application Button zu versuchen, wie ihn z.B. Firefox anbietet. Status-Übersicht:
Noch bekannt Probleme:
Ist jetzt einfach nur ein experimenteller Vorschlag, für so einen AppButton. Hatte einach nicht fertiges gefunden. PS: Falls es sich nicht von selbst erschließt, Anwendungs-Beispiel:
Delphi-Quellcode:
PPS: Warum ich das halbfertig poste: Das Wochenende ist vorbei und weil es nur aus einer Laune heraus entstanden ist, versinkt es sonst wohl im Übungsordner... so wird vieleicht was draus.
AppButton := TAppButton.Create(self);
AppButton.DropDownMenu := PopupMenu1; AppButton.Caption := 'Ich bin ein AppButton'; |
AW: TAppButton - Application Button like Firefox (experimentell)
Eventuell ist
![]() |
AW: TAppButton - Application Button like Firefox (experimentell)
Ja, sehr interessant. Muss mir wohl endlich eine Aero-fähige Win 7 Testumgebung anschaffen.
Sieht so aus, als ob man je nach Windowsversion unterschiedlichen Code implementieren muss. Wie das Beispiel weitgehenst innerhalb der Komponente (und nicht im Form) umgesetzt werden kann, wird sicher interessant. |
AW: TAppButton - Application Button like Firefox (experimentell)
Da war doch mal was ... ist schon länger her ... kram, such, stöber ... ahja,
![]() |
AW: TAppButton - Application Button like Firefox (experimentell)
Also die Idee, einfach den Button über die Caption zu "klatschen" kann ich begraben. Beide Links (die Infos darin) und ein Test eben zeigen, dass bei Glass-Frames nicht mehr direkt gezeichnet werden kann.
Firefox scheint das komplette NC-Area selbst zu zeichnen (bei 7.x sogar fehlerhaft), das werde ich wohl auch müssen. Zum einen werde ich anders das Flackern nicht wegbekommen und unter Windows 7 ist es wohl sowieso nötig. In der Win 7 VM kann ich leider den Glass-Frame nicht aktivieren und das testen. Werde aber trotzdem mal dran machen die verlinkten Beispiele umzusetzen. Werde das erstmal gesplittet nach Windows-Version/Darstellung entwerfen und danach schauen, was sich an Code zusammenwerfen lässt. |
AW: TAppButton - Application Button like Firefox (experimentell)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
zuerst mal muss man ja Chris Rolliston für seinen Beitrag (Link von Stevie) dankbar sein. War sicher eine ziemliche Arbeit die ganzen Infos zu sammeln und daraus eine Demo zu bauen. Scheint auch tatsächlich der aktuell gegangene Weg für einen AppButton zu sein (also Titelbar ausblenden und im ClientBereich neu zu zeichnen) Aber ich wollte den AppButton für eine kleine Multimedia-Anwendung... der Beispielcode ist fest im Mainform integriert, noch nicht für XP/Classic erweitert und trotzdem schon fast umfangreicher, als mein restlicher Projekt-code ;-) Es musste für meinen Fall eine andere, einfache Lösung her... Zufällig ist mir die Tage beim Zeichnen mit Paint.NET das Verhalten der Tool-Windows ins Auge gestochen. Mir kam also die Idee, ein Toolwindow in den Titlebar-bereich einzublenden. Entweder transparent als TButton-Träger oder einfach direkt das Verhalten eines Button simulierend. Im Prinzip bekomme ich dadurch einige Vorteile:
aber auch kleine Nachteile:
Windows Vista/7 konnte ich nur kurz testen, ich hoffe es funktioniert trotz einer Arbeiten nach dem Test weiterhin. 64bit hab' ich überhaupt keine Version zum testen parat. In der Anlage eine kleine Testanwendung, der Source folgt... muss ich aber noch aufräumen |
AW: TAppButton - Application Button like Firefox (experimentell)
Das kennst du:
![]() |
AW: TAppButton - Application Button like Firefox (experimentell)
Die Vorstellung von MSDN kannte ich noch nicht, ist aber im Prinzip die Richtung in der das Beispiel von Chris Rolliston ging.
Es sieht bei MSDN zwar wesentlich übersichtlicher aus (was aber eher am .NETC++-Code liegt), DWM ist aber erst ab Vista+ verfügbar. Für XP muss man sich weiterhin eine eigene Lösung suchen. Wenn man ab VISTA entwickelt, würde ich mich da reinarbeiten. Das muss ja gleich bei der Entwicklung/Planung des Mainform als Code einfließen. |
AW: TAppButton - Application Button like Firefox (experimentell)
Auch wenn das jetzt vllt nicht unbedingt für dich relevant ist:
Die neue Testanwendung läuft auch unter Wine (getestet unter Fedora/Gnome3) wie sie soll! Scheint also sowieso die universellere Lösung zu sein. Denn selbst wenn du den Button jetzt auch per DWM unter Win7 zum Laufen bekommst - wie wird das dann, wenn du irgendwann mal auf MacOSX oder Linux portieren willst? |
AW: TAppButton - Application Button like Firefox (experimentell)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
In der Anlage der aktuelle Source-Code. Sind noch ein paar Kleinigkeiten zu implementieren und auf Sonderfälle zu untersuchen. Aber zum Spielen reichts ;-) Ist im Moment auf jeden Fall noch als "Experiment" zu sehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz