几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】[求助]arx使用对话框的问题 (http://www.dimcax.com/hust/showthread.php?t=6627)

yang686526 2009-04-16 02:01 PM

【转帖】[求助]arx使用对话框的问题
 
[求助]arx使用对话框的问题
[求助]arx使用对话框的问题
1.为什么我的arx中调用对话框必须加 cacmoduleresourceoverride resoverride; 这句才能这确显示?我看别人写的都没有这句却可以?为什么啊?
2.如何将对话框以非模态方式显示?使用m_dlg.domodal();是以模态显示的,我需要非模态显示,如何做?
下面是我调用对话框的函数?望朋友们帮我解决上面的问题,非常感谢!
//主函数
void addcode_main(void)
{
//必须,否则显示的对话框并非你资源中所定义的
cacmoduleresourceoverride resoverride;
//获取cad窗口句柄
cmdiframewnd *pm=acedgetacadframe();

cacdialog m_dlg;
int retvalue = m_dlg.domodal();
}
非模态对话框
cacdialog *pdlg = new cacdialog();
pdlg.create(idd_***) ; //idd_***是对话框资源id
pdlg.showwindow(sw_show);
/////////////////////////////////////
cacmoduleresourceoverride resoverride ;
这个好像也是处理资源的,但具体的作用,我也很想知道,
期待高手讲解(估计现在高手很少来吧)
cacmoduleresourceoverride 的确是用来切换资源的,在arx代码中,默认的始终是cad的资源,所以当你需要用自己的资源dll时,需要调用这个,来切换到你自己的res dll,否则你用acstring等load过来的字符串,将是cad中同号的字符串资源,而不是你自己想要的定义在自己资源里的。尤其是当你需要在对话框中进行图形操作,如begineditorcommand这些操作时,这cacmoduleresourceoverride 就更加重要,加得不对,经常出来错误的结果。


所有的时间均为北京时间。 现在的时间是 07:31 AM.