对话框通过EndDialog返回值传值回父窗体
1. 调用对话(模式调用)
MyDialog dlg(this);
INT_PTR nRet=dlg.DoModal(); //这里接收模态对话框传出来的指针
if(nRet==IDCANCEL) //如果是点的IDCANCEL按钮或是关闭按钮就返回
return;
STUDENT *pStu=(STUDENT*)nRet;
//pStu指针就是从对话框中传过来的数据
// 用完后记得删除pStu指向的内存
Delete pStu;
2.对话框的IDOK按钮消息
void OnOK()
{
STUDENT* pStu=new STUDENT; //创建新的结构体,一定要New,不然传递过去是乱码
//把控件中的数据赋值给结构体指针变量
GetDlgItemText(IDC_NAME_EDIT,pStu->name);
GetDlgItemText(IDC_SEX_COMBO,pStu->sex);
pStu->age=GetDlgItemText(IDC_AGE_EDIT);
GetDlgItemText(IDC_TEL_EDIT,pStu->tel);
::EndDialog(m_hWnd,(INT_PTR)pStu); //传数据到模态返回值中
}
void OnCancel()
{
::EndDialog(m_hWnd,IDCANCEL);
}
void OnClose()
{
OnCancel();
}
签名:GreenLeaf1976

浙公网安备 33010602011771号