Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm in Panel starten (https://www.delphipraxis.net/107755-programm-panel-starten.html)

Die Muhkuh 1. Feb 2008 18:47

Re: Programm in Panel starten
 
Nein.

Aber Du kannst es, wie Detlef sagte, per SetParent machen. Und wenn Du hier in der DP danach suchst, dürftest Du auch findig werden, den ich meine hier schon mal etwas davon gesehen zu haben.

DeddyH 1. Feb 2008 19:11

Re: Programm in Panel starten
 
Ist doch nicht so schwer:
Delphi-Quellcode:
aWnd := FindWindow('notepad',nil);
if aWnd <> 0 then //*grmpf*, das muss 0 heißen
  Windows.SetParent(aWnd,Panel1.Handle); //besser Windows davorschreiben
Allerdings kannst Du das Fenster dann innerhalb Deines Panels immer noch hin und herschieben.

Larsi 1. Feb 2008 19:38

Re: Programm in Panel starten
 
wass mus ich als variable für awnd einbindne?

DeddyH 1. Feb 2008 19:39

Re: Programm in Panel starten
 
grzgrmbl? Kannst Du das nochmal in Deutsch fragen?

Die Muhkuh 1. Feb 2008 19:41

Re: Programm in Panel starten
 
Ich übersetze mal:

Er sucht den Datentyp von aWnd, welcher HWND ist.

taaktaak 1. Feb 2008 19:41

Re: Programm in Panel starten
 
hihihihi

var aWnd : HWnd;

DeddyH 1. Feb 2008 19:42

Re: Programm in Panel starten
 
Mal ein Tipp: in der Hilfe unter FindWindow nachsehen, welchen Datentyp diese Funktion wohl zurückgibt.

Helmi 1. Feb 2008 19:44

Re: Programm in Panel starten
 
Danke DeddyH!
Hat funktioniert!

taaktaak 1. Feb 2008 19:56

Re: Programm in Panel starten
 
Moin, Moin.

Ich spiele mal gerade so ein bißchen mit. Nun müßte Notepad natürlich exakt in das Panel eingepasst werden (ist natürlich nur sinnvoll, wenn das Panel eine Mindestgröße hat) - ist Get/SetWindwoPlacement da der richtige Ansatz??

taaktaak 1. Feb 2008 20:07

Re: Programm in Panel starten
 
Jooooooooooo, war keine schlechte Idee...

Delphi-Quellcode:
procedure TfoTest3.Button1Click(Sender: TObject);
var aWnd : Hwnd;
    WPM : TWindowPlacement;
    Rect : TRect;
begin
  aWnd:=Findwindow('notepad',nil);
  if aWnd<>0 then begin
    Windows.SetParent(awnd,panel1.Handle);

    WPM.Length:=SizeOf(WPM);
    GetWindowPlacement(awnd,@WPM);
    Rect.Top  :=0;
    Rect.Left :=0;
    Rect.Right :=Panel1.Width;
    Rect.Bottom:=Panel1.Height;
    wpm.rcNormalPosition:=Rect;
    SetWindowPlacement(awnd,@WPM);
    end;

end;
Ein wenig umständlich, aber dafür erst einmal ein bißchen besser nachzuvollziehen. Nun müssten natürlich noch Verschieben, Minimieren und Maximieren ausgeschaltet werden...
Gruß Ralph


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz