在菜单中加入菜单项IDM_IP,单击后WndProc调用
DialogBox(hInst, (LPCTSTR)IDD_IPBOX, hWnd, (DLGPROC)Ip);其中IDD_IPBOX是对话框资源,Ip是窗口函数。本程序是仿照win32的hello world编的,单击HELP/About, 就弹出对话框,为什么我的对话框没显示,请教各位大虾了。

解决方案 »

  1.   

    条件太少了,很难判断问题在哪里.
    例子:
    在WM_COMMAND里面:
    switch(LOWORD(wParam))//wParam的低位
    {
        case IDM_IP:
        DialogBox........
    }
      

  2.   

    WndProc中是这样的:
    ...
    case IDM_ABOUT:
    DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
    break;
    case IDM_IP:
    DialogBox(hInst, (LPCTSTR)IDD_IPBOX, hWnd, (DLGPROC)Ip);
    break;
    ...对话框过程我是仿照About()的。
    LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    switch (message)
    {
    case WM_INITDIALOG:
    return TRUE; case WM_COMMAND:
    if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
    {
    EndDialog(hDlg, LOWORD(wParam));
    return TRUE;
    }
    break;
    }
        return FALSE;
    }
    LRESULT CALLBACK Ip(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    switch (message)
    {
    case WM_INITDIALOG:
    return TRUE; case WM_COMMAND:
    if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
    {
    EndDialog(hDlg, LOWORD(wParam));
    return TRUE;
    }
    break;
    }
        return FALSE;
    }但是about对话框能显示,但IP对话框单击时没反应。
      

  3.   

    ShowWindow好像没用。再说这是对话框,和About换汤不换药的,为什么就只显示About对话框呢?
      

  4.   

    原来这样写没有错。我只要去掉在对话框IDD_IPBOX中拖入的一个IP Address控件,就能显示了,一加入就不能。我试过了,拖入大多数控件,对话框仍显示,但拖入某些控件就不能显示,不知是何道理。
      

  5.   

    你有没有调用void InitCommonControls(VOID);啊?那些控件是需要这个函数来初始化的