Autor Beitrag
compyler
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 03.08.09 17:51 
Hallo,

ich habe gerade etwas in meinem C++/CLI Winforms Code entdeckt, dass ich nicht verstehe. Ich habe eine Form mit einem Panel drauf, wobei ich das resize Event des Panels "gehookt" habe. In meiner init() Funktion der Form hole ich mir ein Handle auf die Form:
HWND hwnd = static_cast<HWND>(Handle.ToPointer());

Das seltsame: Diese Zeile löst ein Resize Event des Panels aus! Ich kann es selber nicht glauben, also bin ich mit dem Debugger durch den Code. Ich stehe also auf der Zeile von oben (die wo ich den Handle hole) und wenn ich jetzt die Zeile ausführe, dann springt er sofort in die Funktion, die das Panel Resize Event verarbeitet.

Wieso löst Handle.ToPointer() einen Resize meines Panels aus? Ist das normal?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mo 03.08.09 18:07 
Mit den WinAPI-Interna kenne ich mich nicht besonders aus, aber vielleicht besitzt die Form zu dem Zeitpunkt noch gar kein Handle und beim Erstellen desselben wird dann das Event aufgerufen.

_________________
>λ=