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;
}