pqs001 发表于 2005-5-27 10:57:00

acedCommand在kLoadDwgMsg时加载的怪问题

定义了一个可停靠窗体类,在窗体按钮事件时,



<FONT color=#0066ff>1。</FONT>        发送:


<FONT color=#ff0000>        acedCommand(RTSTR,"z",RTSTR,"e",0);</FONT><BR>acad没有任何响应!


<FONT color=#0066ff>2。</FONT>发送:


<FONT color=#ff0000>        acedCommand(RTSTR,"UCSICON",RTSTR,"OFF",0);</FONT>


acad没有任何响应! 而在arx初始化时使用,则有相应。


需要对每个打开的文档都实现无UCS坐标显示,在 <FONT color=#ff0000>kLoadDwgMsg </FONT>消息处理函数中加上        acedCommand(RTSTR,"UCSICON",RTSTR,"OFF",0);       ,还是没有响应。


<FONT color=#3809f7>3。</FONT>在另外一个windows应用程序exe中,使用如下命令,弹出"加载、卸载应用程序",而非自动加载arx文件


        char cmdString;<BR>        <FONT color=#ff0000>strcpy(cmdString,"appload\nD:/a/dxfwork/Debugdxfwork.arx\n");</FONT><BR>        COPYDATASTRUCT cmdMsg;<BR>        cmdMsg.dwData=(DWORD)1;<BR>        cmdMsg.cbData=(DWORD)strlen(cmdString)+1;<BR>        cmdMsg.lpData=cmdString;


        HWND* hWndApp=NULL;<BR><FONT color=#ff0000>        SendMessage(hWndACAD,WM_COPYDATA,(WPARAM)hWndApp,(LPARAM)&amp;cmdMsg);<BR></FONT>


<BR>

pandoram 发表于 2005-5-27 11:16:00

可停靠面板是无模式的, 不能直接用acedCommand, 要锁定文件或者用sendStringToExecute..


问题3里面的命令字串中/字符能被承认么? 这种应该用\\字符的吧..

pqs001 发表于 2005-5-27 11:17:00

pandoram发表于2005-5-27 11:16:00static/image/common/back.gif可停靠面板是无模式的, 不能直接用acedCommand, 要锁定文件或者用sendStringToExecute..



问题3里面的命令字串中/字符能被承认么? 这种应该用\\字符的吧..

<BR>用了\\也没有作用

pandoram 发表于 2005-5-27 11:23:00

把回车换成空格试一下看..

pqs001 发表于 2005-5-27 11:39:00

试过了,没作用

pandoram 发表于 2005-5-27 11:45:00

去调试了一下, appload命令似乎不接受命令行传递参数, 必须要对话框..


改用arx命令就可以了.

pqs001 发表于 2005-5-27 12:04:00

[求助]关于objectdcl的问题

pandoram发表于2005-5-27 11:45:00static/image/common/back.gif去调试了一下, appload命令似乎不接受命令行传递参数, 必须要对话框..



改用arx命令就可以了.


<BR>晕了,我用这么一串arx命令,还是不行


<FONT color=#ff0000>        strcpy(cmdString,"arx\nl\nd:\\a\\dxfwork\\Debug\\dxfwork.arx\n");</FONT><BR>

pandoram 发表于 2005-5-27 15:40:00

楼主请问一下, 有没有例子说明一下SendMessage方法送给CAD的命令在什么情况下是可以成功的呢(包括CAD版本)?


CAD2000似乎并不会自动处理LPARAM得到的文字信息啊..


按照windows messaging的想法, 被send message的窗口应该由程序本身设计一个message handler来处理得到的message, 而不是留给CAD自己处理啊..

pqs001 发表于 2005-5-27 17:31:00

<FONT color=#ff0000>hWndACAD </FONT><FONT color=#000000>是用<FONT color=#ff0000>FindWindow</FONT>找到的, acad怎么处理消息应该不是我们要考虑的吧</FONT>



什么命令能成功倒也说不上,我试的结果就是<FONT color=#ff0000>sendStringToExecute</FONT><FONT color=#000000>能做的,<FONT color=#ff0000>SendMessage</FONT>也能做</FONT>



本人刚刚开始编程,十足菜鸟,失望处还望海涵。
页: [1]
查看完整版本: acedCommand在kLoadDwgMsg时加载的怪问题