大虾们救救我吧:我在修改一个软件,是Unicode工程的。
弹出一个模式对话框代码:
CXXXDlg dlg;
dlg.DoModal();
或者弹出一个系统对话框,如打开文件:
CFileDialog dlg(true, _T("mdb"), filePath+fileName, OFN_HIDEREADONLY, lpszFilter);
if((dlg.DoModal())==IDOK)
{
// ……
}
程序一开始运行时对话框显示正常,但只要拖动它,就变成面目全非了:
关掉这个对话框,再打开,拖动,又正常了。后来发现,只要软件有一个窗口刷新过(如拖动、最大化最小化),就不会出现这种情况。即使出现这种情况,只要在任务栏暂时切换其它程序,再切换过来就显示正常。这个工程的全部模态对话框都这样,但非模态则正常。观看其它代码,没有发现不对的地方(代码太多也没看完)。主窗口打开前创建了好几个非模态对话框,而且用了MoveWindow函数,但这也应该没有问题啊。这个问题都弄得我快发疯了!网上不断地搜索,不断地翻阅MSDN,就是不知道问题在哪里。各位高手有没有遇到相似的问题啊,或者提供一种解决办法,先谢了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货