Ik had het WM_NOTIFY blokje gisteren al verwijderd uit m'n WndProc, vandaar dat ik het nu even opnieuw schrijf (met break erboven). Es even zien of het nu wel werkt...
edit: nope, nog steeds niet, even een opsomming van de debug-waardes die ik krijg bij een breakpoint net achter case WM_NOTIFY:
hdr: 1000
lParam: 1000
wParam: 1243688
msg: 78
Als 78 dus WM_NOTIFY is (en dat kan eigenlijk niet anders, want er staat wel degelijk een break voor de case WM_NOTIFY) dan kan ik niet anders concluderen dat er in die proc niets fout is
Code dan maar:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| switch(msg) {
case WM_CLOSE:
dialog->CloseMessage(lParam,wParam);
return TRUE;
break;
case WM_NOTIFY: {
NMHDR* hdr = (NMHDR*)lParam;
return TRUE;
break;
}
case WM_INITDIALOG:
InitCommonControls();
SetWindowText(hwnd,"Newstracker");
// tree klussen
SendDlgItemMessage(hwnd,IDC_ITEMLIST,TVM_SETIMAGELIST,0,(LPARAM)hImageList);
TVINSERTSTRUCT tvi;
tvi.hParent=NULL; // top most level Item
tvi.hInsertAfter=TVI_ROOT; // root level item attribute.
tvi.item.mask=TVIF_TEXT; // attributs
tvi.item.pszText="Druk op 'ververs' om nieuws op te halen"; // item text
Parent = (HTREEITEM)SendDlgItemMessage(hwnd,IDC_ITEMLIST,TVM_INSERTITEM,0,(LPARAM)&tvi);
return 0;
break;
case WM_DESTROY:
PostQuitMessage(0);
return TRUE;
break;
case WM_RBUTTONDOWN: {
POINT pt;
GetCursorPos(&pt);
HMENU menu = LoadMenu(GetModuleHandle(NULL),MAKEINTRESOURCE(IDR_MENU));
HMENU popup = GetSubMenu(menu,0);
SetForegroundWindow(hwnd);
int command = ::TrackPopupMenu(popup,TPM_RIGHTBUTTON,pt.x,pt.y,0,hwnd,NULL);
::SendMessage(hwnd,WM_COMMAND,WM_COMMAND,command);
return TRUE;
break;
}
case WM_COMMAND:
// zooi wm_command handlers
break;
case WM_TRAYNOTIFY:
dialog->TrayNotify(lParam,wParam);
return TRUE;
break;
case WM_TIMER:
dialog->TimerMessage();
return TRUE;
break;
} |
[
Voor 115% gewijzigd door
MisterData op 18-09-2003 16:34
]