用WIN32方法搞就别用类弄对话框了
在要显示对话框的地方写上
DialogBox(hInstance,//实力句柄
MAKEINTRESOURCE(IDD_DIALOG1),//对话框资源ID
hwnd,//父窗口句柄
DlgProc);//处理的窗口过程函数
函数如下
BOOL CALLBACK DlgProc (HWND hDlg, UINT message,WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG :
return TRUE ;//对话框初始化处理
case WM_COMMAND : //命令处理
switch (LOWORD (wParam))
{
case IDOK :
case IDCANCEL :
EndDialog (hDlg, 0) ;//关闭对话框
return TRUE ;
}
break ;
}
return FALSE ; //没有处理返回FALSE
}
1 比如对话框CMyDialog,一个编辑框控件,ID:IDC_EDIT_01_NAME;
2 头文件中,定义与该控件关联的变量:
CEdit m_editName;
CString m_strName;
3 Cpp文件中,
构造函数中,m_strName = _T("");
//关联
void DoDataExchange(CDataExchange pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT_01_NAME,m_editName;);
DDX_Text(pDX, IDC_EDIT_01_NAME, m_strName);
}
5 可以在对话框的初始化;
BOOL OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
//初始化
CString str = _T("");
strFormat(_T("gfdgh"));
m_editNameSetWindowText(str);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
6 也可以在d出该对话框的位置初始化。
{
CMyDialog dlg;
//初始化
CString str = _T("");
strFormat(_T("gfdgh"));
dlgm_strName = str;
dlgDoModal();
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)