我一直在为大学做一个 WinAPI 项目,我们被要求在一个对话框中实现完整的程序。起初,我使用了一个模态对话框,一切正常,除了对话框的任务栏中没有图标,因为我直接在 WM_CREATE 上创建了它,并且没有使主窗口可见,因为它不是用过的。
现在我完全放弃了主窗口句柄,只用于CreateDialog
创建一个无模式对话框,但从那以后我不能使用该Enter键作为默认按钮的替代品。
case WM_COMMAND:
if(LOWORD(wparam) == IDOK || LOWORD(wparam) == IDC_OK) {
[...] //doing stuff
}
break;
这是我的全部主要功能:
int WINAPI WinMain(HINSTANCE dieseInstanz, HINSTANCE vorherigeInstanz, LPSTR lpszArgument, int Fensterstil) {
MSG Meldung;
HWND dialog = NULL;
dialog = CreateDialog(GetModuleHandle(NULL),MAKEINTRESOURCE(IDC_DIALOG), NULL, dialogHandler);
if(dialog != NULL) {
ShowWindow(dialog, SW_SHOW);
} else {
MessageBox(NULL, "CreateDialog returned NULL", "Warning!", MB_OK | MB_ICONINFORMATION);
}
while(GetMessage(&Meldung, NULL, 0, 0)) {
TranslateMessage(&Meldung);
DispatchMessage(&Meldung);
}
return Meldung.wParam;
}
我只是做错了一些基本的事情,还是没有按照我想要的方式工作?
澄清一下:如果我Enter在对话框中按下键,我只会得到典型的 Windows 通知声音。