Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#22

Re: Programm in Panel starten

  Alt 1. Feb 2008, 21:55
Hihihi, das ist ja eine witzige Möglichkeit

... wenn man mal so richtig groß angeben möchte. Zieht man das Panel ganz an den oberen Rand des Clientbereichs (oder verzichtet ganz darauf und nutz das Form selber) und verwendet folgenden Code, hat man in Sekunden ein beliebig komplexes Programm "gezaubert" - da man nur noch die "eigene Titelzeile" sieht, muss es ja wohl selbst programmiert sein:

Delphi-Quellcode:
procedure TfoTest3.Button1Click(Sender: TObject);
var aWnd : Hwnd;
    WPM : TWindowPlacement;
begin
  // eigentlich notepad.exe im Bedarfsfall vorher noch starten!
  aWnd:=FindWindow('notepad',nil);
  if aWnd<>0 then begin
    Windows.SetParent(awnd,Panel1.Handle);
    SetWindowLong(awnd,GWL_STYLE,GetWindowLong(awnd,GWL_STYLE) AND NOT WS_CAPTION);
    WPM.Length:=SizeOf(WPM);
    GetWindowPlacement(awnd,@WPM);
    WPM.ShowCmd:=SW_ShowMaximized;
    WPM.rcNormalPosition:=Classes.Rect(0,0,Panel1.Width,Panel1.Height);
    SetWindowPlacement(awnd,@WPM);
    end;
end;
So, nun aber Schluß mit der Spielerei!
Allen ein schönes Wochenende!
Gruß Ralph
Ralph
  Mit Zitat antworten Zitat