h2023197 发表于 2004-11-5 16:54:00

高手帮忙! 无模对话框变模式对话框?

我新建了一个对话框,但是是无模式对话框,小弟想请教高手怎么变成模式对话框?

王咣生 发表于 2004-11-5 19:44:00

回复

上传你的源程序看看吧?(Create与DoModal()的区别)


Modal对话框用


                CRamanaDlg dlg(CWnd::FromHandle(adsw_acadMainWnd()));<BR>                int rc = dlg.DoModal();


Modeless对话框用


CSampDialog* gpDlg = NULL;


gpDlg = new CSampDialog(acedGetAcadFrame());<BR>b = gpDlg-&gt;Create(ID_SAMPDIALOG);

迈克老狼 发表于 2004-11-6 10:26:00

在ARX下有例子


E:\objectARX 2000\samples\mfcsamps\modeless

h2023197 发表于 2004-11-6 12:33:00

谢谢各位,但是我有想知道无模对话框的具体建立步骤,(上次我建立的是模式对话框,搞错了),能说一下哪有说明吗,或者推荐我一本书,上面有详细的建立步骤,谢谢!!!

h2023197 发表于 2004-11-6 14:00:00

我的无模式对话框已经建好了,但是有一个问题,就是不能对无模式对话框进行操作,鼠标的焦点总在AutoCAD主界面上,不能在该对话框上,这是怎么回事?


帮帮忙,谢谢!!!

王咣生 发表于 2004-11-6 17:44:00

回复

CRamanaDlg dlg(CWnd::FromHandle(<FONT color=#0938f7>adsw_acadMainWnd</FONT>()));


再有你的对话框类是从CDialog还是从<FONT color=#3d11ee>CAcUiDialog</FONT>继承过来的?


贴上你的代码吧?

h2023197 发表于 2004-11-6 20:04:00

我建立的命令是“modeless",命令实现函数的内容是


CSampDialog* gpDlg=NULL ;        gpDlg = new CSampDialog(acedGetAcadFrame());<BR>        gpDlg-&gt;Create(ID_SAMPDIALOG);<BR>        gpDlg-&gt;ShowWindow(SW_SHOW);<BR>        gpDlg-&gt;CenterWindow();


建立的对话框中增加了一个函数,


LONG CSampDialog::onAcadKeepFocus(UINT, LONG)<BR>{<BR>                       return TRUE;<BR>}


怎样才能鼠标点击对话框时,焦点能在对话框上,现在问题是鼠标左键按下焦点在对话框上,但松开时焦点就在AUTOCAD界面上了,怎样解决,谢谢斑竹帮忙!!

王咣生 发表于 2004-11-6 20:28:00

回复

参考: ..\ObjectARX 2005\samples\editor\mfcsamps\modeless


对比一下问题在哪里,再不行,发源程序上来.

h2023197 发表于 2004-11-7 09:04:00

我把我的代码传上去,斑竹帮忙看看,修改成能够对无模对话框进行操作的,再传回来,谢谢斑竹!!!!!

h2023197 发表于 2004-11-7 09:11:00

郁闷,怎么发不上去,斑竹,我发到你信箱了,谢谢帮忙!!
页: [1] 2
查看完整版本: 高手帮忙! 无模对话框变模式对话框?