Autor Beitrag
McCancey
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 08.01.09 16:31 
Hallo,

ich benutze ein Framework (ESRI ArcObjects) dessen Controls ich gerne verwenden möchte. Das Framework stellt keine Control Objekte bereit, aber ich kann über eine Property auf das Window Handle eines Controls zugreifen. Gibt es in c# irgendeinen Mechanismus, mit dem ich mir das hWnd schnappen kann und dessen assoziiertes Fenster in ein anderes Control (z.B. Panel) zeichnen lassen kann?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 08.01.09 16:39 
Vielleicht kannst du mit SetParent das Control in das Panel verschieben.

_________________
>λ=
McCancey Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 08.01.09 17:09 
Das Problem ist, dass ich eben kein wirkliches Control habe, das ich einsetzen könnte, sondern nur über das Window Handle an das einzufügende Objekt komme. Es gibt also keine SetParent Funktion, ich müsste sowas haben wie eine Funktion Control.FromHandle(Int hWnd) oder Graphics.DrawWindow(Int hWnd) oder eine API Funktion die das Handle benutzt um dessen Fenster irgendwo hin zu pinseln...
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4808
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 08.01.09 17:23 
Zitat:

... oder eine API Funktion die das Handle benutzt um dessen Fenster irgendwo hin zu pinseln...

Genau das macht doch die SetParent-Funktion der WinAPI.
Du nimmst das Handle des externen Fensters und plazierst es auf dein Panel (Panel.Handle):
ausblenden C#-Quelltext
1:
SetParent(hWndExternal, Panel.Handle);