VC6.0插入dialog对话框

1、打开资源窗口

image

2、对着source resource右键鼠标选择插入,出来的对话窗口选择dialog,新建

image

就可以看到对话框设计了:

image

3、有了对话框,那么我们怎么显示呢?

可以用DialogBox API函数显示,比如在一个菜单按钮的点击事件写:

DialogBox((HINSTANCE)GetWindowLong(hwhd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOGABOUT),hwhd,AboutDialogProc);

(函数说明:第一个参数(HINSTANCE)GetWindowLong(hwhd,GWL_HINSTANCE)获取进程句柄,第二个参数是对话框的ID,hwhd父窗口句柄,第三个参数是回调函数)

就可以显示出改对话框了

image

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;
}
posted @ 2012-12-30 14:53  浪浪仔  阅读(7137)  评论(0编辑  收藏  举报