VS2015 MFC环境下,属性页对话框CPropertyPage调用非模态对话框出现重影,请问怎么解决?

kevinjan 2018-03-22 04:11:05


属性页对话框
class CSatellite : public CPropertyPage
非模态对话框
class CTrackDataList : public CDialogEx
属性页对话框中调用非模态对话框时出现上图的重影,请问怎么解决?
void CSatellite::OnBnClickedorbit()//按钮事件弹出非模态对话框
{
// TODO: 在此添加控件通知处理程序代码
CTrackDataList *trackdatalist_=new CTrackDataList(this);

if (trackdatalist_->GetSafeHwnd() == 0)
{
trackdatalist_->Create(IDD_TRACKDATA_LIST);
}
trackdatalist_->ShowWindow(SW_SHOW);

}

...全文
513 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevinjan 2018-03-23
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
CTrackDataList 应该是另一个 CPropertyPage
在VS2010中CPropertyPage调用非模态对话框不会有重影问题,还有vs2015中CPropertyPage调用非模态对话框时,对话框的style属性必须为child,不能是Popup,VS2015做了改动还是我方法错了?
schlafenhamster 2018-03-22
  • 打赏
  • 举报
回复
CTrackDataList 应该是另一个 CPropertyPage
向导对话框 向导对话框实际上是一种特殊的属性表,和属性表不同的是,它能使用按钮来完成从一到另一的移动,而不是使用选项卡。我们用MFC AppWizard(exe)来建立新的程序时,就是用向导对话框完成的整 个过程,图3.7.1就是这个过程的 第一步,点击Next到下一步。 由于向导是一种特殊的属性表, 因此与其对应的MFC类也是属性 表类CpropertySheet和属性类 CpropertyPage,在向导程序中,属 性表的创建方法没有改变,只是在 调用DoModel函数之前应调用 SetWizardMode(设置向导模式)函数, 图3.7.1 建立新项目过程的第一步 将属性表的操作方式设置为向导模式。 在向导模式下,每一个属性都有Back、Next、Cancel按钮,由于每次显示向导的特定时,MFC自动调用OnSetActive()(设置活动函数)函数,因此我们可以重载OnSetActive函数,在此函数中利用SetWizardButton(设置属性按钮显示方式)设置希望出现的按钮,在向导程序的最后一,可以通过用SetFinishText(设置Finish命令按钮中的文本)设置Finish按钮所显示的文字,同时隐藏”上一步(Back)”按钮和”下一步(Next)”按钮。 例3.28 创建向导对话框 (1)创建一个基于对话框的应用程序,名为:向导对话框 (2)创建属性对话框属性对话框类并添加相应的消息映射函数 1)Insert ResourceDialogIDD_PROPPAGE_MEDIUMNew,创建了第一个对话框,将其ID改为:IDD_STEP1,将其Language属性设置为Chinese[P.R.C]。并为该对话框建类,类名为:Cpage1,基类为:CpropertyPage。 2)删除对话框上的原有控件,在控件工具栏中拖到对话框一个静态文本,静态文本的属性Caption处写:第一个对话框,再拖过一个静态图片控件,将一个.bmp图形Import(导入)到程序中,再把这个图形加到这个图片控件上,如图3.7.2所示。 利用ClassWizard为类Cpage1增加消息映射函数OnSetActive,在此函数中激活Next按钮,代码如下: BOOL Cpage1::OnSetActive() { CPropertySheet *pSheet=(CPropertySheet *)GetParent(); ASSERT_KINDOF(CPropertySheet,pSheet); pSheet->SetWizardButtons(PSWIZB_NEXT); return CPropertyPage::OnSetActive();

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧