There's any number of things that could be going wrong, but my guess would be that the dialog is being created, but not shown.
One thing I noticed was that you grab the WM_INITDIALOG message in AboutDialog, but don't do anything with it. If you don't process a given message, your handler routine should return FALSE to signify to windows that it should use the default behavior, which in this case involves painting the window to the screen, etc. Try changing the last line of your handler to "return FALSE;" and putting a "return TRUE;" after both of the EndDialog(...) calls. For example, here's the aboutDialog callback routine that I use in
RoboGUI:
Code:
BOOL CALLBACK aboutProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){
switch(message){
case WM_COMMAND:
switch(LOWORD(wParam)){
case IDOK:
case IDCANCEL:
EndDialog(hDlg, 0);
return TRUE;
}
break;
}
return FALSE;
}
If that doesn't work, could you post the entire VC++ project (zipped)? Make sure to delete the Debug and Release directories first... they tend to be quite large.