Hallo!
Da mir gerade langweilig ist habe ich gedacht, schreib ich mal einen Eintrag für die CodeLib..
Also es geht darum, das man fremde Anwendungen in seine eigene Anwendung einsperren kann, so das es aussieht als ob sie ein
MDI-Child der eigenen Anwendung wären.
Viel zu zaubern gibts da nicht, man muss einfach nur das
Handle des Fenster finden, was man "einsperren" möchte und dann mittels SetParent das ParentWindow der fremden Anwendung auf das
Handle der eigenen Form/Panels usw. umbiegen. Danach noch das obligatorische SW_MAXIMIZE ausführen, damit die Anwendung sich auch an die neue Form anpasst.
Hier jetzt der Code:
Delphi-Quellcode:
var
hNotepad: hWnd;
//Handle auf das Window welches man einsperren möchte
begin
hNotepad := FindWindow('
notepad',
nil);
//In diesem Fall sperren wir das gute alte Notepad ein
Windows.SetParent(hNotepad,
Handle);
//Wir setzen das Parent mit Windows.SetParent, da ein Aufruf
//von SetParent zur Folge hätte, dass wir die Methode von
//TWinControl aufrufen würden, was wir nicht wollen
ShowWindow(hNotepad, SW_MAXIMIZE);
//Einmal ShowWindow mit SW_MAXIMIZE als Parameter damit das Fenster
//sich über die ganze Form erstreckt
end;
Das wars auch schon
mfg phlux