![]() |
"Desktop anzeigen"-Problem
Hi DPler :hi:
in meinem programm ändert sich die Caption der Mainform (hier wird in einem "animierten" TExt der name einer Musikdatei angezeigt. Da ich aber auch ein Deskband nutze muss das Fenster in minimiertem Zustand einen Konst. Namen besitzen.
Delphi-Quellcode:
In einem Timer wird dann immer die jeweilige Caption gesetzt. Ich habe aber bemerkt dass "Desktop anzeigen" wohl kein OnMinimite auslöst. Wie könnte ich das lösen? (außer getrennte Prozeduren für Restore und minimze)
procedure TfrmMain.Minimieren(Sender : TObject);
var info : tPlaylistenitem; begin Minimiert := not minimiert; if (BassDllPlayer1.Status = sndPlaying) and not minimiert then begin info:=Manager.GetPlayListenItem(frmPlaylist.lsbPlaylist.items, TrackNR); end; Application.OnMinimize := Minimieren; Application.OnRestore := Minimieren; |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
|
Re: "Desktop anzeigen"-Problem
Hi,
Probier mal die Eigenschaft WindowState des Formulars zu überwachen.
Delphi-Quellcode:
MfG
if WindowState = wsMinimized then
|
Re: "Desktop anzeigen"-Problem
Zitat:
Davon abgesehen, "Desktop anzeigen" minimiert in der Tat keine Fenster, sondern es holt das Desktop-Fenster in den Vordergrund. Vielleicht hilft dir eine Abfrage, ob sich das Desktop-Fenster vor deinem befindet? |
Re: "Desktop anzeigen"-Problem
ich muss mir mit FindWindow das Handle meines Programmes holen und dann die Messages an das betreffende welche abschicken. Ohne konst. Namen geht das nicht (oder täusche ich mich da?).
|
Re: "Desktop anzeigen"-Problem
Ach so, dein Deskband holt sich das Hauptfenster-Handle oder sowas in der Richtung? Nun, es gibt natürlich noch weitere IPC-Mechanismen, die du vielleicht benutzen könntest. Aber davon abgesehen kannst du doch statt nach dem Fensternamen (-titel) auch einfach nach dem Klassennamen mit FindWindow suchen, oder? Und wenn du den Handle einmal hast, kannst du ihn ja auch speichern (außer das Fenster wird eventuell neu erzeugt).
Vielleicht hab ich das auch einfach nicht ganz richtig verstanden, aber möglicherweise hilft dir das ja schon weiter ;) |
Re: "Desktop anzeigen"-Problem
Wie meinst du das mit "Klassenname suchen"? :gruebel:
|
Re: "Desktop anzeigen"-Problem
Nun, der erste Parameter von FindWindow ist doch der Klassenname des Fensters. Der ist doch typischerweise immer derselbe. Wenn du danach suchst, ist der Name (also Titel) des Fensters irrelevant. Dein Klassenname sollte dann nur vielleicht einigermaßen aussagekräftig sein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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-2025 by Thomas Breitkreuz