CreateDialog消息循环
“非模式对话框跟主窗口使用同一个消息循环,而因为非模式对话框的消息会被系统主动调用这个对话框的处理函数来处理”
现在的情况是CreateDialog是写在一个模态对话框的回调处理函数里
INT_PTR CALLBACK Main(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hwndTab, hWndCurrent;
int i;
switch (message)
{
case WM_INITDIALOG:
{
...
hWndChildTab[0] = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_FRIEND), hwndTab, (DLGPROC)ChildTab);
hWndChildTab[1] = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_GROUP), hwndTab, (DLGPROC)ChildTab);
ShowWindow(hWndChildTab[0],SW_SHOW);
ShowWindow(hWndChildTab[1],SW_HIDE);
......
这样需要写消息分发吗
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
if ((hWndChildTab[0] == 0) || (!IsDialogMessage (hWndChildTab[0], &msg)))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
写的话应该写哪里呢