I can't see why control never gets to the lines indicated:
Code:
LRESULT CALLBACK CannedFixDlgBox(HWND hDlg, UINT message, WORD wParam, DWORD lParam)
{
static HWND cfe_fix;
int li_result, i;
DWORD dw_index;
CANFIXNODE *fixnode;
switch (message)
{
/* Use messages to update, etc */
case WM_INITDIALOG:
CentraliseWindow(hDlg);
cfe_fix = GetDlgItem(hDlg, CFE_FIX); ...
... code to set up the list, which I know works OK
...
break;
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case CFE_FIX:
{
switch (HIWORD(wParam))
{
// Never seems to get here - why?
case CBN_SELENDOK:
case CBN_SELCHANGE:
case CBN_CLOSEUP:
case CBN_SELENDCANCEL:
...
break;
}
return 0;
break;
}
case ...:
...
...
default:
break;
}
return TRUE;
}
default:
break;
}
return FALSE;
}
The dropdown populates perfectly OK, and I can get it to dropdown and make a selection.
I'm under the impression from the documentation that the message CBN_SELENDOK will be picked up when a selection is made, but HIWORD(wParam) is consistetly coming through with zero, thus those CBN_ messages are never processed.
Any ideas as to why? I've searched and found a number of examples, all of which appear to do much the same as me, but there has to be something wrong somewhere.....
Any ideas? TIA.