Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

Fenstergröße an Änderung anpassen

  Alt 17. Mär 2009, 12:55
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
  Mit Zitat antworten Zitat