VC中关于文件打开对话框的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/15 14:59:00
写了一个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()里面绘制的内容就全没了,怎么回事啊?
奇怪的是,我只要不打开文件对话框,什么问题没有,只要一打开对话框,并且点保存,就会清空所有绘制的内容

this->OnPaint ();
改成
Invalidate();

你的画的内容是OnPaint中画的码?或者是其它系统的函数。
否则系统需要重绘(比如移动窗口)时会盖掉你的内容的。

如果还有问题,可按照下面的方法与我沟通:
http://hi.baidu.com/%BA%CE%D6%BE%B5%A4/profile