非模态对话框的问题
在WinMain中直接创建模态对话框作主窗体,没有while消息循环。然后在对话框的窗体函数中创建一个非模态对话框,因为要实现不同的功能。怎么处理消息呀?或者说怎么实现呀...
在WinMain中直接创建模态对话框作主窗体,没有while消息循环。然后在对话框的窗体函数中创建一个非模态对话框,因为要实现不同的功能。怎么处理消息呀?或者说怎么实现呀?
创建的非模态对话框中有很多的控件,它们的消息又该怎么实现??? 展开
创建的非模态对话框中有很多的控件,它们的消息又该怎么实现??? 展开
2个回答
展开全部
非模态对话框的消息其实和模态对话框是一样的,在非模态对话框的消息响应函数里处理就好了。
hwndModeless=CreateDialog(hInst,MAKEINTRESOURCE(IDD_MODELESS),hwndDlg,(DLGPROC)ModelessDialogProc);
ShowWindow(hwndModeless,SW_SHOW);
创建一个非模态对话框,
INT_PTR CALLBACK ModelessDialogProc(
HWND hwndDlg, // handle to dialog box
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
switch(uMsg)
{
case WM_COMMAND:
break;
case WM_CLOSE:DestroyWindow(hwndDlg);break;
}
return FALSE;
}
它的消息响应函数里,你可以处理你想处理的你的那些控间在消息在WM_COMMAND消息里,
WM_COMMAND消息你应该会处理吧,会处理那就好了
hwndModeless=CreateDialog(hInst,MAKEINTRESOURCE(IDD_MODELESS),hwndDlg,(DLGPROC)ModelessDialogProc);
ShowWindow(hwndModeless,SW_SHOW);
创建一个非模态对话框,
INT_PTR CALLBACK ModelessDialogProc(
HWND hwndDlg, // handle to dialog box
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
switch(uMsg)
{
case WM_COMMAND:
break;
case WM_CLOSE:DestroyWindow(hwndDlg);break;
}
return FALSE;
}
它的消息响应函数里,你可以处理你想处理的你的那些控间在消息在WM_COMMAND消息里,
WM_COMMAND消息你应该会处理吧,会处理那就好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询