CreateWindowEx und Controls

26/02/2011 - 22:41 von Heinz-Mario Frühbeis | Report spam
Hallo!

Wenn ich mit CreateWindowEx ein Fenster erzeuge, dann kann ich *nur*
noch mit API darauf zugreifen?
Z. Bsp.:
newFormHwnd = CreateW...
Result = SetBkColor(newFormHwnd, 100)

Wie bekomme ich denn ein UserControl auf diese Form; zumal das
UserControl noch nicht kompiliert ist?
Derzeit habe ich das in Projektgruppe. Klappt das dann immer noch?

Mit Gruß
Heinz-Mario Frühbeis
 

Lesen sie die antworten

#1 Thorsten Albers
27/02/2011 - 00:44 | Warnen spam
Heinz-Mario Frühbeis schrieb im Beitrag
<ikbs2h$s3e$...
Wenn ich mit CreateWindowEx ein Fenster erzeuge, dann kann ich *nur*
noch mit API darauf zugreifen?
Z. Bsp.:
newFormHwnd = CreateW...
Result = SetBkColor(newFormHwnd, 100)

Wie bekomme ich denn ein UserControl auf diese Form; zumal das
UserControl noch nicht kompiliert ist?
Derzeit habe ich das in Projektgruppe. Klappt das dann immer noch?



Das ganze ist ziemlich unverstàndlich:
Du kannst ein UserControl 'mit Fenster' erstellen. Das UserControl ist
dabei eine Art COM-Container, der um ein ganz normales Windows-Fenster
herum 'gebaut' ist und dessen Eigenschaften leichter zugànglich macht sowie
mit weiteren Eigenschaften und einer gewissen Verwaltung verknüpft.
Du kannst mit CreateWindow() etc. ein ganz normales Windows-Fenster
erzeugen; wenn Du dabei das Handle des UserControl-Fensters übergibst,
kannst Du dieses ganz normale Window-Fenster als 'child window' des
UserControls erstellen. Das kann in besonderen Fàllen 'mal ganz sinnvoll
sein, im allgemeinen empfiehlt sich das aber nicht, weil dieses 'child
window' dann, anders als sein 'parent window', nicht Teil der VB-Fenster-
bzw. Form-Verwaltung ist. Du kannst immer nur mit API-Funktionen darauf
zugreifen, in die Verwaltung kann es nicht eingebunden werden.
Aber ein UserControl zu einem 'child window' eines mit CreateWindow() etc.
erzeugten Fensters machen? Über einige Umwege ginge das für das mit dem
UserControl verbundene Fenster (und >nur< für dieses) sicherlich, wobei der
Fall, der das erforderlich machen könnte, erst einmal dargestellt werden
müßte. Keinesfalls aber kannst Du auf diese Weise das UserControl als
ganzes mit diesem Fenster verbinden, da dieses Fenster nicht Teil der
VB-Verwaltung ist. Das Fenster kann z.B. - nur so als 'Anfang' - nicht
Container des UserControls sein.

Thorsten Albers


Ähnliche fragen