![]() |
Hilfe-Button in Windows-Dialogen benutzen (Öffnen/Speichern)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
hab mal eine Frage zu den Hilfe-Button-Aufruf von Windows-Dialogen. Ich möchte gerne immer den neuesten Stil von Windows-Dialogen haben, weshalb ich gerade daran rumbastle, es über die Funktionen GetOpenFileName und GetSaveFileName zu machen. Hab schon die Funktion mit den Flags rausgefunden etc. Wenn nun der Hilfe-Button mithilfe von OFN_SHOWHELP angezeigt wird und gedrückt werden kann, dann soll auch die Hilfe aufgerufen werden. Schön wäre es wenn ich dabei auf die Funktionen von Application. zurückgreifen könnte. Im Moment kann man nur die F1-Taste für einen eventuellen Hilfeaufruf benutzen. Danke schon mal im Voraus für die Hilfe. Grüße Egac Im Anhang findet ihr mein "Test-Programm" |
Re: Hilfe-Button in Windows-Dialogen benutzen (Öffnen/Speich
Beim Drücken des Hilfe-Buttons wird eine WM_NOTIFY Message an dein Fenster gesendet.
Delphi-Quellcode:
Im Parameter lParam der Message bekommst du die Information, was passiert ist:
TForm1 = .....
procedure WMNotify(var Message: TWMNotify); message WM_NOTIFY; end; ![]() |
Re: Hilfe-Button in Windows-Dialogen benutzen (Öffnen/Speich
Zitat:
Im Notfall könnte man also auch den .DefaultHandler des Dialogs überschreiben und würde so vermutlich auch noch an diese Nachricht rankommen und dann an Application weitergeleitet werden. hmmmmm, also die Help-Nachricht sollte im MessageHook ankommen, aber sie verschrindet irgendwo unterwegs einfach. :shock:
Delphi-Quellcode:
es kann natürlich sein, daß sie in einem übergeordneten (oder untergeordnet?) WndProc irrtümlicher Weise falsch behandelt wird :gruebel:
procedure TRedirectorWindow.WndProc(var Message: TMessage);
begin inherited WndProc(Message); with Message do begin if (Result = 0) and (Msg <> CM_RELEASE) and Assigned(FCommonDialog) then Result := Integer(FCommonDialog.MessageHook(Message)); ... end; end; |
Re: Hilfe-Button in Windows-Dialogen benutzen (Öffnen/Speich
okay danke leute, werde es gleich mal ausprobiren :-D
|
Re: Hilfe-Button in Windows-Dialogen benutzen (Öffnen/Speich
Also ich habs probiert. Erste Lösung hatte leider nicht den erwünschten Erfolg. Bei zweiter Antwort bin ich mir nicht so ganz sicher, wo ich was, wie einzusetzen hatte. Liegt vllt auch daran, dass ich sowas noch nie gemacht habe, was keine Ausrede sein soll. Ich werde, wenn ich mal Zeit haben sollte, mir gleich ein paar Tutorials zu diesem Thema vornehmen.
Vllt versteh ich das und kann von alle auf die Lösung kommen. Mal sehen. :coder2: Über diese Seite bin ich ebenfalls gestolpert: ![]() Danke auf jeden Fall für eure Antworten!!! @himitsu: Ich bin davon ausgegangen, dass TRedirectorWindow = TForm1 (in meinem Testprogramm) entspricht. Dann wusst ich allerding nicht, was ich für FCommonDialog einzusetzen hatte, da ich ja für den Dialog ja garkeine direkte Form habe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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