Einzelnen Beitrag anzeigen

hwis

Registriert seit: 21. Jul 2005
2 Beiträge
 
#1

TOpenDialog mit Button erweitern

  Alt 21. Jul 2005, 10:05
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;
  Mit Zitat antworten Zitat