1、打開資源窗口
2、對着source resource右鍵鼠標選擇插入,出來的對話窗口選擇dialog,新建
就可以看到對話框設計了:
3、有了對話框,那么我們怎么顯示呢?
可以用DialogBox API函數顯示,比如在一個菜單按鈕的點擊事件寫:
DialogBox((HINSTANCE)GetWindowLong(hwhd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOGABOUT),hwhd,AboutDialogProc);
(函數說明:第一個參數(HINSTANCE)GetWindowLong(hwhd,GWL_HINSTANCE)獲取進程句柄,第二個參數是對話框的ID,hwhd父窗口句柄,第三個參數是回調函數)
就可以顯示出改對話框了
3.1對話窗口的回調函數怎么寫?給是實例
BOOL CALLBACK AboutDialogProc(HWND hwndDlg,UINT UMsg,WPARAM wParam,LPARAM IParam)//關於對話框的回調函數
{TCHAR ss[256];switch(UMsg) {
case WM_INITDIALOG://對話窗口初始化時調用{MEMORYSTATUS status = GetMemoryStatus();ZeroMemory(ss,sizeof(ss)/sizeof(TCHAR));wsprintf(ss,"%d KB",status.dwTotalPhys/1000);
//MessageBox(hwndDlg,ss,TEXT(""),MB_OK);
SetDlgItemText(hwndDlg,IDC_STATICMEMORY,ss);return TRUE;
}break;
case WM_COMMAND://響應窗口中各種按鈕的點擊事件{switch(wParam) {
case IDOK:
EndDialog(hwndDlg,0);break;
default:
break;
}}break;
case WM_CLOSE://對話窗關閉時調用,即是點擊關閉按鈕是的響應事件{EndDialog(hwndDlg,0);return TRUE;
}break;
default:
break;
}return FALSE;
}