![]() |
TOpenDialog mit Button erweitern
Wir möchtene den TOpenDialog mit einem eigenen Button ergänzen. Den Button können wir erstellen und auch ein Ereignis zuweisen. Zur Laufzeit wird das Ereignis aber nicht ausgeführt.
Delphi-Quellcode:
procedure TForm1.OpenDialog1OnShow(Sender: TObject);
var hParent: THandle; Rect: TRect; btnDR: TButton; begin // Fensterhandle holen hParent := GetParent(OpenDialog1.Handle); // Position und Grösse ermitteln GetWindowRect(hParent, Rect); // Dialog vergrössern für Schalter SetWindowPos(hParent, 0, 0, 0, rect.Right - rect.Left, rect.Bottom - rect.Top + 30, SWP_NOMOVE); // Schalter erstellen und anpassen btnDR := TButton.Create(Self); btnDR.Name := 'btnDR'; btnDR.Caption := 'Suche'; // Schalter positionieren btnDR.Left := Rect.Right - Rect.Left - 87; btnDR.Top := Rect.Bottom - Rect.Top - 30; btnDR.Anchors := [akRight,akBottom]; btnDR.OnClick := btnClick; //btnClick; btnDR.ParentWindow := hParent; end; procedure TForm1.btnClick(Sender: TObject); begin showmessage('Hallo'); end; |
Re: TOpenDialog mit Button erweitern
Das OnClick Ereignis wird normalerweise an das Parentfenster weitergegeben. Und dies ist dann, wenn man es richtig macht der OpenDialog.
Ich würde davon abratene VCL und reine Win32 API zu nmischen. Erstell liber die Schaltfläche mit CreateWindowEx auf dem Dialog. |
Re: TOpenDialog mit Button erweitern
Hoi Lucki,
ich habe mir CreateWindowEx angeschaut, aber ich werde nicht richtig schlau daraus. Du hast nicht per Zufall ein kleines Beispiel zur Hand, oder weisst wo ich mich schlau machen kann? |
Re: TOpenDialog mit Button erweitern
Bei den
![]() |
AW: TOpenDialog mit Button erweitern
Jetzt krame ich diesen Uralt-Thread aus der Versenkung hervor.
Ich würde gerne den TOpen dialog mit einer Combobox erweitern - Wegen Zitat:
edit: Die Google-Suche war erfolgreicher als die Forumssuche: ![]() |
AW: TOpenDialog mit Button erweitern
Zitat:
![]() |
AW: TOpenDialog mit Button erweitern
Zitat:
edit: Danke jedenfalls für den Link zu deinen Compos, die werden mir auf jeden Fall weiterhelfen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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