Autor Beitrag
FaTaLGuiLLoTiNe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 5

Windows 7, Windows 8.1
Delphi XE
BeitragVerfasst: Fr 16.05.03 13:46 
Hallo zusammen!

Ich habe gerade eine Anwendung geschrieben, welche sich statt in die Taskbar in die Win TNA "minimiert". Ich benutze ein TPopupMenu, um die unsichtbare Anwendung auf den Screen zurückzuholen. Das klappt alles auch.

Ich hatte noch ein Problem mit dem Menü, weil es immer sichtbar geblieben ist, wenn man nicht direkt auf einen Menüeintrag oder auf das Programmformular klickt. Dieses Problem habe ich behoben, indem ich SetForegroundWindow(Handle) benutze. Dadurch habe ich jetzt allerdings ein neues Problem, weil SetForegroundWindow auch Fenster in den Vordergrund holt, die ein anderes modal geöffnet haben!

Das heisst wenn ich auf das Tray Icon drücke während z.B. ein Dialog modal offen ist, dann kommt plötzlich das Hauptfenster wieder in den Vordergrund ... es ist aber weiterhin inaktiv.

Dieses Verhalten finde ich, gelinde gesagt, Sch***e.
Gibt es keine bessere Alternative zu SetForegroundWindow()?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.05.03 14:50 
Wenn dein Programmfenster offen ist, bin ich der Meinung, sollte das Icon in der TMA von deinem Programm sowieso verschwinden.
FaTaLGuiLLoTiNe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 5

Windows 7, Windows 8.1
Delphi XE
BeitragVerfasst: Fr 16.05.03 15:20 
Freut mich das zu hören aber das ist 1. meine Anwendung und 2. würde mein Chef sicher nur ungerne das Pflichtenheft umschreiben. (Nein, es gibt kein Plichtenheft, nenn es dramaturgische Überspitzung :wink: )

Ich bin immer für Tips offen aber würde lieber meine Frage beantwortet haben als zu wissen wie ich meine Oberfläche zu programmieren habe.
Nix für ungut.

Ausserdem machen professionelle Anwendungen sowas auch (z.B. der G6 FTP Server) und ich finde es nicht wirklich unsinnig.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.05.03 15:28 
Öhm, wo ist das Problem, wenn es deine Anwendung ist? Dann mach deinen Chef klar, dass es nur verwirrt, wenn das Programm offen ist und das Icon in der TNA sichtbar und das es das Problem löst.

Zweitens nicht alles was Geld kostet und von Programmierern programmiert wurde, die bezahlt werden, muß gut sein und als Vorbild dienen.
FaTaLGuiLLoTiNe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 5

Windows 7, Windows 8.1
Delphi XE
BeitragVerfasst: Fr 16.05.03 15:43 
Ich halte es schon für sinnvoll das Icon nicht auszublenden, weil es nicht nur dazu da ist um das Hauptfenster wieder sichtbar zu machen, sondern weil da auch Befehle drin sind, die man evtl mal schnell ausführen möchte ohne erst das Hauptfenster zu reanimieren.

Sagen wir einfach, dass es für die meisten Anwendungen sicher sinnvoll ist deinen Weg zu gehen, aber für mein Programm stelle ich mir etwas anderes vor.

Aber da du mir ja nicht nur nicht helfen zu können, sondern augenscheinlich auch gar nicht zu wollen scheinst, ist die Diskussion eh schon jetzt was für die Tonne.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.05.03 16:01 
Falls du es nicht gemerkt hast: Meine Hilfe bestand darin dir andere Wege auf zu zeigen.
Der Thread ist nicht durch mich in der Tonne , sondern daran bist du selber Schuld. Dies ist ein Diskussions-Forum, wo man mögliche Lösungen diskutieren kann. Und ich habe eine solche Lösungs-Diskussion begonnen. Und ich hätte auch nicht mehr geantwortet nach diesen den deinigen Absatz:
Zitat:

Ich halte es schon für sinnvoll das Icon nicht auszublenden, weil es nicht nur dazu da ist um das Hauptfenster wieder sichtbar zu machen, sondern weil da auch Befehle drin sind, die man evtl mal schnell ausführen möchte ohne erst das Hauptfenster zu reanimieren.
damit wäre für mich alle geklärt gewesen, du hast mir damit plausibel geschildert, warum du dein Icon in der TNA trotz, geöffnetem Hauptfenster, anzeigen willst. Dies verstehe ich und für mich wäre die Sache gegessen gewesen - fertig.
FaTaLGuiLLoTiNe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 5

Windows 7, Windows 8.1
Delphi XE
BeitragVerfasst: Fr 16.05.03 16:26 
Okay, dann entschuldige meinen etwas frevelhaften Ton, lass Gras (Yeah, Gras) über die Sache wachsen und überleg' mal ob du mir nicht vielleicht doch noch helfen kannst, da ich dir ja jetzt klar gemacht habe dass ich durchaus weiss was ich vorhabe und das auch begründen kann (obwohl ich immer noch nicht weiss warum ich das muss).
FaTaLGuiLLoTiNe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 5

Windows 7, Windows 8.1
Delphi XE
BeitragVerfasst: Mi 21.05.03 12:32 
Titel: Mögliche Antwort
Hab' das Problem gelöst ... sieht jedenfalls ganz gut aus.

Wenn man Application.BringToFront benutzt, hat man den gleichen Effekt (das Menü verschwindet korrekt) und das ganze klappt auch bei modal geöffneten Fenstern, weil ja die Anwendung und nicht das Hauptfenster in den Vordergrund geholt wird.