创建一个模式对话框,通常需要三步:
1、在资源文件中定义对话框模板,比如:
AddDB1 DIALOG 18,18,140,100
CAPTION "输入信息"
STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU
{
LTEXT "请输入:", -1, 20, 20,
50, 20
EDITTEXT
ID_EDIT1, 65, 18,
40, 14
DEFPUSHBUTTON "确定",
IDOK, 30,70,38,20
PUSHBUTTON
"取消", IDCANCEL, 80,70,38,20
}
2、定义对话框函数,比如:
BOOL CALLBACK AddDialog1(HWND hdwnd,UINT message,
WPARAM wParam,LPARAM lParam)
{
char buf[80];
static HWND hEd1;
switch (message)
{
case WM_INITDIALOG:
……
……
hEd1=GetDlgItem(hdwnd,ID_EDIT1);
SetFocus(hEd1);
return 0;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
……
GetWindowText(hEd1,buf,50);
……
EndDialog(hdwnd,1);
return 1;
case IDCANCEL:
EndDialog(hdwnd,0);
return 1;
}
}
return 0;
}
3、调用对话框,比如:
switch (message)
{
……
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDM_ADD:
DialogBox(hInst,"AddDB1",hwnd,(DLGPROC)AddDialog1);
break;
……
……
PS:程序不一定正确,但原理是这样。