[FireMonkeyHD] Jedes Formular, eigenen Taskbar-Eintrag
spacer
Autor Nachricht
MDX
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 571
Erhaltene Danke: 4

Windows 7 Ultimate, Linux Ubuntu 11.04 (Virtual: Windows XP/Vista)
RAD Studio XE 2, PHP, Java (Android)
BeitragVerfasst: Sa 28.01.12 02:53 
Hallo DF'ler,
ich versuche derzeit mit Embarcadero RAD Studio XE2 (und FireMonkey HD) ein Crossplattform-Programm für Windows 32, 64 und Mac OS X zu entwickeln. Es klappt alles soweit so gut, jedoch habe ich ein kleines Problem.

Ich will für jedes Formular einen Taskbar-Eintrag anzeigen lassen, mit den Codes die man im Internet findet, ist dies jedoch nicht (bzw. nur für Windows) möglich (Beispiel: blog.hitziger.net/20...ner-delphianwendung/).

Hat jemand vielleicht eine Idee dies für FireMonkey so umzusetzen, dass es sowohl auf Windows, als auch auf MAC OS X funktioniert?

Vielen Dank
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15511
Erhaltene Danke: 677

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Sa 28.01.12 08:45 
Es gibt keine plattformübergreifende Möglichkeit. Die Fenstermanager und APIs sind grundverschieden.

Linux:
Es gibt da z.B. aus GTK eine entsprechende API-Funktion gtk_window_set_skip_taskbar_hint:
www.gtk.org/api/2.6/...et-skip-taskbar-hint
Leider funktioniert die aber nicht überall wie gewünscht. Mit älteren Versionen von Gnome wird das Fenster teilweise erst gar nicht in der Taskleiste eingeblendet und der Aufruf schlicht ignoriert.

Grundsätzlich möglich sollte es aber unter Linux sein. Wie mit Delphi müsstest du dann schauen, wenn es für Linux benutzbar ist.

MacOS: AFAIK ist das dort überhaupt nicht möglich ohne tatsächlich für jedes Fenster eine eigene Instanz des Programms zu starten, weder via Cocoa noch via Carbon (sprich die APIs dort). Lazarus unterstützt diese Funktion dort auch nicht.

Deshalb wären eigene Prozesse plus Interprozesskommunikation wohl sinnvoller, wenn du dieses Feature unbedingt benötigst.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
MDX Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 571
Erhaltene Danke: 4

Windows 7 Ultimate, Linux Ubuntu 11.04 (Virtual: Windows XP/Vista)
RAD Studio XE 2, PHP, Java (Android)
BeitragVerfasst: Sa 28.01.12 18:43 
Hallo Sebastian,
danke für deine ausführliche Erklärung :D

Ich denke ich werde dies dann erstmal nur für Windows umsetzen, auf Mac OSX muss dass dann halt auch ohne eigenen Eintrag funktionieren, ist nur ein kleiner "Schönheitsfehler", aber damit lässt's sich leben. Aber was erwartet man von Apple ^^
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home