![]() |
【转帖】[求助]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. |