//MyDialog.h CMyDailog:public CXXXX { public: bool m_hIsOKClicked; };//MyDialog.cpp CMyDialog::CMyDialog(...) :m_hIsOKClicked(false), ... { }CMyDialog::OnOK() { m_hIsOKClicked=true; }//UseDialog.cpp//code in one place CMyDialog*dlg; dlg=new CMyDialog(...); dlg->Create(...);//code in other place if(dlg->m_hIsOKClicked) {//OK被点击 }
void CMyDialog::OnOK()
{
DestroyWindow();
}
而不能使用OnOK()或OnCancel()函数。
如果你是想将对话框中的数据传递给视图,则需使用SendMessage(int msg, int wParam, int lParam )传递数据。
{
CWnd *pWnd;
pWnd=GetParent();
if(pWnd)
{
pWnd.SendMessage(WM_COMMAND,........) // 之后就很easy了^_^
}
return;
}
CMyDailog:public CXXXX
{
public:
bool m_hIsOKClicked;
};//MyDialog.cpp
CMyDialog::CMyDialog(...)
:m_hIsOKClicked(false),
...
{
}CMyDialog::OnOK()
{
m_hIsOKClicked=true;
}//UseDialog.cpp//code in one place
CMyDialog*dlg;
dlg=new CMyDialog(...);
dlg->Create(...);//code in other place
if(dlg->m_hIsOKClicked)
{//OK被点击
}
向视图发出消息。
现在我还有个问题,我的vc现在不能自动出提示代码了,
比如点操作符或者"->"运算符后不提示可能用到的函数,我重装了vc还是不行,
难道是msdn的问题?
可是我每一个程序都出现这样的问题,挺苦恼的