Hi,
ich bastel gerade bisschen mit c++ rum, klappt bisher auch ganz gut.
momentan bin ich dabei ein treeview zu erstellen.
lt. MSDN und einigen Beispielquelltexten hab ich herausgefunden, dass bei einem Klick auf eine treenode eine WM_Notify-Nachricht mit einem pointer auf ein NMHDR-struct verschickt wird.
WM_Notify wird verschickt, jedoch ist scheinbar im Auswerten des angehängten struct der Wurm drin
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| LRESULT MyTreeview::MyWndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { switch(message) { case WM_NOTIFY: { switch(((LPNMHDR)lparam)->code) { case NM_CLICK: {MessageBox(hwnd,"NM_Click","Test",0);};break; case NM_DBLCLK: {DoDblClick();};break; } };break; } return CallWindowProc( wndProcOrig, hwnd, message, wparam,lparam); } |
weder NM_CLICK noch NM_DBLCLK werden aufgerufen.
ich hab versucht mir mit folgendem Code den Wert von "code" anzeigen zu lassen (nach case WM_NOTIFY:{), aber leider zeigt mir debugview nichts an:
C#-Quelltext
1: 2: 3:
| char c[10]; sprintf(c,"%d",((LPNMHDR)lparam)->code); OutputDebugString(c); |
Gruß Frank
Moderiert von
Narses: Code- durch C#-Tags ersetzt
BA 01 00 00 00 52 EB 09 BB 4D 11 86 7C FF D3 EB 0D E8 F2 FF FF FF 63 68 61 72 6D 61 70 00 C3