明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1682|回复: 2

[求助]arx使用对话框的问题

[复制链接]
发表于 2008-5-10 11:47:00 | 显示全部楼层 |阅读模式

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();
}

发表于 2008-5-15 16:49:00 | 显示全部楼层

非模态对话框

CacDialog *pDlg = new CacDialog();

pDlg.Create(IDD_***) ;  //IDD_***是对话框资源ID

pDlg.ShowWindow(SW_SHOW);

/////////////////////////////////////

CAcModuleResourceOverride resOverride ;

这个好像也是处理资源的,但具体的作用,我也很想知道,

期待高手讲解(估计现在高手很少来吧)

发表于 2008-5-16 14:52:00 | 显示全部楼层
CAcModuleResourceOverride 的确是用来切换资源的,在ARX代码中,默认的始终是CAD的资源,所以当你需要用自己的资源DLL时,需要调用这个,来切换到你自己的res dll,否则你用AcString等Load过来的字符串,将是CAD中同号的字符串资源,而不是你自己想要的定义在自己资源里的。尤其是当你需要在对话框中进行图形操作,如beginEditorCommand这些操作时,这CAcModuleResourceOverride 就更加重要,加得不对,经常出来错误的结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:22 , Processed in 0.166955 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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