Hier noch mal überarbeitet:
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
//
// TForm1.OpenDlgOnShow
//
// OnShowEventHandler des Dialoges
// Edit auf Dialog plazieren
//
procedure TForm1.OpenDlgOnShow(Sender: TObject);
var
hParent: THandle;
rect: TRect;
hEdit: THandle;
begin
// OpenDialog1.Handle ist irgendwie das falsche :?
hParent := GetParent(OpenDialog1.Handle);
GetWindowRect(hParent, rect);
// Dialog vergrößern für Edit
SetWindowPos(hParent, 0, 0, 0, rect.Right - rect.Left, rect.Bottom - rect.Top
+ 25, SWP_NOMOVE);
// Edit erzeugen, ID = 101, und Fehlerbehandlung
hEdit := CreateWindowEx(WS_EX_CLIENTEDGE, 'EDIT', '', WS_VISIBLE or WS_CHILD,
195, rect.Bottom - rect.Top - 27, 150, 20, hParent, 101, 0, nil);
if hEdit = 0 then
RaiseLastOSError;
end;
Optional kann man in den Prozedur Header noch Autor, Datum, Parameter, Rückgabewert angeben. Halte ich aber für überflüssig. Bei Bedarf kann man es machen. Hier wäre es zum Beispiel überflüssig, finde ich.
Im
Unit Header kann man auch noch Datum, Autor, Copyright, Erklärung was sie macht usw. dazu schreiben.