明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2793|回复: 8

如何生成有属性页的非模态对话框?

[复制链接]
发表于 2003-11-10 17:30:00 | 显示全部楼层 |阅读模式
domodal生成的模态对话框上有四个按钮,我不想要,所以想用非模态的对话框

CMysheet mys(_T("111"));  //CMysheet是CPropertySheet的子类
mys.DoModal();
能见到模态对话框

但是       
CMysheet mys(_T("111"));

mys.Create();
mys.ShowWindow(SW_SHOW);
为何只能看到含属性页的对话框的影子?


看vc里建无属性页的非模态对话框,得用new,否则连影子都看不到
可是CPropertySheet跟CDialog的格式好像不一样——不让用new
发表于 2003-11-10 22:01:00 | 显示全部楼层
有一个办法可以做到:不要使用CPropertySheet,你还是创建Dialog资源,然后创建几个child式样的对话框,这些对话框用CPropertyPage作为基类,在Dialog中Create这些CPropertyPage,反正用Dialog作为这些CPropertyPage的Parent,所以你想怎么控制都可以了。我都是这么做的。
 楼主| 发表于 2003-11-10 22:22:00 | 显示全部楼层
AddPage还需要重新加载?
发表于 2003-11-10 22:32:00 | 显示全部楼层
都不用CPropertySheet了,和AddPage无任何关系!你下载http://www.10house.net/xqg.asp里面的程序安装看看,连安装程序都是用上面讲的方法做的
 楼主| 发表于 2003-11-11 08:18:00 | 显示全部楼层
不是吧?你的网站???厉害啊!
若是,将来我找不到工作,就去投奔你啊!
我还会干点线切割操作的
没办法
如今学测量的女生很不好找工作的(性别歧视)
呵呵!kiding
 楼主| 发表于 2003-11-11 08:58:00 | 显示全部楼层
http://www.10house.net/xqg.asp里面的程序安装看看,连安装程序都是用上面讲的方法做的
晕,在论坛上转了半天,也没看见什么下载的地方!!!

不过,支持线切割什么cy...软件
记不清了,sorry
发表于 2003-11-11 14:10:00 | 显示全部楼层
(1) Create后就会显示
(2)看不到东西可能是没有社visible=true 和disable=false (对所有page都要设)
(3)如果你的程序在AutoCAD中运行,要额外做几件事:
(A)处理AutoCAD发过来的消息WM_ACAD_KEEPFOCUS
(B)将AUtoCAD的主窗口指给propertysheet 做父窗口.
 楼主| 发表于 2003-11-11 15:06:00 | 显示全部楼层
CYoume *mys=new CYoume(_T("aa"));

mys->Create();
mys->ShowWindow(SW_SHOW);

这样new就ok了
发表于 2003-11-15 11:31:00 | 显示全部楼层
注;无模式对话不是同步的,创建函数调用后立即返回,
 void CMainFrame::OnMyDialog ( )
  {
   //建立一个非模式对话框。
   CSampleDilog * pDialog =new CMyDialog;
   ASSERT_VALID (pDialog) Destroy();
   BOOL bResult = pDialog —>Creste (IDD_IDALOG);
   ASSERT (bResult );
  }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 20:24 , Processed in 0.173531 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表