VC中关于文件打开对话框的问题!
写了一个MFC程序,要用到文件打开对话框,我ONLBUTTONDOWN函数的代码如下:voidCMyDlg::OnLButtonDown(UINTnFlags,CPoin...
写了一个MFC程序,要用到文件打开对话框,我ONLBUTTONDOWN函数的代码如下:
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
if (ButtonSave.PtInRect (point) == true)
{
CFileDialog dlg(false , NULL , "" , OFN_HIDEREADONLY , "文本文件(*.txt)|*.txt|" , NULL);
int IRes = dlg.DoModal ();
}
this->OnPaint ();
CDialog::OnLButtonDown(nFlags, point);
}
其中ButtonSave是一个CRect
程序运行后点击相应的ButtonSave所在区域,出现一个另存为对话框,这时没有问题,但是只要一点保存,我OnPaint()里面绘制的内容就全没了,怎么回事啊?
奇怪的是,我只要不打开文件对话框,什么问题没有,只要一打开对话框,并且点保存,就会清空所有绘制的内容 展开
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
if (ButtonSave.PtInRect (point) == true)
{
CFileDialog dlg(false , NULL , "" , OFN_HIDEREADONLY , "文本文件(*.txt)|*.txt|" , NULL);
int IRes = dlg.DoModal ();
}
this->OnPaint ();
CDialog::OnLButtonDown(nFlags, point);
}
其中ButtonSave是一个CRect
程序运行后点击相应的ButtonSave所在区域,出现一个另存为对话框,这时没有问题,但是只要一点保存,我OnPaint()里面绘制的内容就全没了,怎么回事啊?
奇怪的是,我只要不打开文件对话框,什么问题没有,只要一打开对话框,并且点保存,就会清空所有绘制的内容 展开
1个回答
展开全部
this->OnPaint ();
改成
Invalidate();
你的画的内容是OnPaint中画的码?或者是其它系统的函数。
否则系统需要重绘(比如移动窗口)时会盖掉你的内容的。
如果还有问题,可按照下面的方法与我沟通:
http://hi.baidu.com/%BA%CE%D6%BE%B5%A4/profile
改成
Invalidate();
你的画的内容是OnPaint中画的码?或者是其它系统的函数。
否则系统需要重绘(比如移动窗口)时会盖掉你的内容的。
如果还有问题,可按照下面的方法与我沟通:
http://hi.baidu.com/%BA%CE%D6%BE%B5%A4/profile
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询