Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Editor-Programm in Groupbox laden?


D. Annies - Fr 25.09.09 22:47
Titel: Editor-Programm in Groupbox laden?
Hi, Delpher,

mit dem folgenden Code lade ich das Prg Notepad in meinem Delphi-Programm:


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Editor1Click(Sender: TObject);
begin  
  ShellExecute(Handle, nil'C:\Windows\notepad.exe'nilnil, SW_Show);  
end;


Ist es auch möglich, diesem Programm eine Groupbox als Container zuzuweisen?
--> Wegen der Grenzen bei verschiedenen Bildschirmauflösungen.

Gruß, Detlef


Delete - Sa 26.09.09 00:50

Äh, du startest Notepad, aber du lädst es nicht in dein Delphi Programm, was auch immer du darunter verstehst.


D. Annies - Sa 26.09.09 07:13

Hi, Michael,

ja, war ein bisschen mißverständlich ausgedrückt, ich weiß, dass diese beiden Prg's unabhängig voneinander "existieren".

Aber geht denn nun eine Zuweisung?
Gruß, Detlef


jaenicke - Sa 26.09.09 10:36

Du willst Notepad also in eine GroupBox einbetten, das heißt das Programm soll darin dann liegen? :shock:

Auch wenn so etwas nicht gerade benutzerfreundlich ist, funktionieren sollte es, indem man den Parent mit SetParent setzt. Dafür solltest du statt ShellExecute lieber CreateProcess oder ShellExecuteEx nehmen, damit du den Prozess zurückgeliefert bekommst, in dem du dann mit EnumChildWindows z.B. nach dem Fenster suchen kannst. Dieses kannst du dann mit SetParent in die GroupBox einsperren.

Das Ergebnis sieht zwar besch*** aus, sollte aber so klappen. :lol:


D. Annies - Sa 26.09.09 11:55

Vielen Dank, Sebastian!
Gruß, Detlef