Fenstergröße verändern
Hallo,
kann mir wer auf die Sprünge helfen?
Ich bin im Moment gerade mit meinem Plugin-System auf Exe-Basis am probieren.
Ich starte eine Exe und übergebe dieser ein Panel als Parent.
Das funktioniert problemlos. Das jeweilige Fenster der Exe wird auf dem Panel angezeigt und
an die Größe des Panels angepasst.
Ich möchte das sich bei einer Größenänderung des Parentpanels sich die gestartete Exe an diese Größe anpasst.
Kann mir hier wer mit ein paar Zeilen Code auf die Sprünge helfen?
Die Anpassung der Fenstergröße an das Panel erfolgt beim Start mit nachfolgender Funktion:
Delphi-Quellcode:
procedure SetParent(Wnd : Hwnd;
Handle: Hwnd);
var
WPM : TWindowPlacement;
begin
if Wnd <>0
then
begin
Windows.SetParent(wnd,
Handle);
WPM.Length:=SizeOf(TWindowPlacement);
GetWindowPlacement(
Handle, @WPM);
//Positionen auslesen und nachfolgend in StringLists speichern
width := WPM.rcNormalPosition.Right - WPM.rcNormalPosition.Left;
height := WPM.rcNormalPosition.Bottom - WPM.rcNormalPosition.Top;
SetWindowLong(wnd,GWL_STYLE,GetWindowLong(wnd,GWL_STYLE)
AND NOT WS_CAPTION);
WPM.Length:=SizeOf(WPM);
GetWindowPlacement(wnd,@WPM);
WPM.ShowCmd:=SW_ShowMaximized;
WPM.rcNormalPosition:=Classes.Rect(0,0,width,height);
SetWindowPlacement(wnd,@WPM);
end;
end;
Für einen Tip dankbar.
Gruß
Peter