xyccf 发表于 2016-8-6 14:54:07

[悬赏5币]修改CAD标题栏

本帖最后由 xyccf 于 2016-8-6 14:56 编辑

如题,请问哪位大侠帮忙做一个可以修改CAD标题栏的程序。最好能通用的支持2006~2016,我只搜集到大致的代码。
void change_cad_title(std::wstring title)
      {
                CMDIFrameWnd *pp=0;
                pp=acedGetAcadFrame();
                if (pp==0)
                {
                        acutPrintf(_T("\nchange_cad_title失败,请检查"));
                        return ;
                }
                pp->SetWindowText (title.c_str());
                pp->UpdateWindow ();
      }
希望帮忙编译一个arx,标题就叫小草集CAD工具箱 for Auotocad 2XXX,根据版本调节。
悬赏5个币吧

highflybird 发表于 2016-8-6 20:42:49

I=

本帖最后由 highflybird 于 2016-8-6 21:12 编辑

如果你装了DynamicWrapperX这个插件的话,几句话就搞定了,以下是LISP程序,适合2004以上各个版本

(defun c:test(/ app hwd DWX)
(setq app (vlax-get-acad-object))
(setq hwd (vla-get-hwnd app))
(setq DWX (vlax-create-object "DynamicWrapperX"))
(vlax-invoke DWX 'register "USER32" "GetWindowTextW" "i=hpl" "r=l")
(vlax-invoke DWX 'register "USER32" "SetWindowTextW" "i=hp" "r=l")
(vlax-invoke DWX 'register "USER32""i=h" "r=l")
(vlax-invoke DWX 'SetWindowTextW hwd (strcat "小草集CAD工具箱 for Auotocad " (substr (ver) 13 4)))
(vlax-invoke DWX 'UpdateWindow hwd)
(vlax-release-object DWX)
(vlax-release-object APP)
(princ)
)
上面的一段代码里面第7行漏了"UpdateWindow",论坛上老是加不进去,请自行补上.
关于DynamicWrapper请参考:
http://bbs.mjtd.com/thread-172340-1-1.html

mokson 发表于 2020-12-27 08:22:44

参考永久性修改标题的方法:
http://bbs.mjtd.com/thread-176826-1-1.html

cchessbd 发表于 2022-11-9 12:23:12

highflybird 发表于 2016-8-6 20:42
如果你装了DynamicWrapperX这个插件的话,几句话就搞定了,以下是LISP程序,适合2004以上各个版本

上面 ...

大师能否指点一下,怎么获取任务栏的窗口标题呢?
因为cad2006的窗口标题都是一样的,我现在想按文件名显示。但是因为还有理正软件,
理正有他自己的标题,我想不替换理正的标题。。。

自贡黄明儒 发表于 2016-8-6 20:26:24

这个,高飞鸟大师不是用liSp搞定了的吗?

xyccf 发表于 2016-8-6 20:46:10

本帖最后由 xyccf 于 2016-8-6 20:50 编辑

highflybird 发表于 2016-8-6 20:42 static/image/common/back.gif
如果你装了DynamicWrapperX这个插件的话,几句话就搞定了,以下是LISP程序,适合2004以上各个版本

关于D ...
感谢回复,看到了您的帖子,可是我的用户没有这个插件,放他们电脑上显示不出来啊。这样我就多出一个问题问您,请问如何制作安装包?不好意思啊,没有系统的学过,只是用的时候抱佛脚。

xyccf 发表于 2016-8-6 20:51:29

自贡黄明儒 发表于 2016-8-6 20:26 static/image/common/back.gif
这个,高飞鸟大师不是用liSp搞定了的吗?

黄大儒,请问怎么制作个安装包呢?自动识别用户cad的路径,版本,把插件和支持环境的安装过程打包进去对我来说也是个难题。。。

xyccf 发表于 2016-8-6 20:59:33

有的时候只是想简单的做个功能,牵扯到的知识面如此广。问题的复杂度的增加大大减少了净收益,蛮忧伤,两位大师不要嫌弃我太懒啊。重心已经放在Python上了。。。

highflybird 发表于 2016-8-6 21:28:56

如果你想给用户使用,参考秋枫的这个地方有关于如何把自己的程序打包安装:
http://bbs.mjtd.com/thread-35156-1-1.html


liwen888888 发表于 2017-8-7 21:04:38

学习一下,谢谢分享

1291500406 发表于 2020-12-23 08:13:19

import winex
hwnd = winex.findActivate("AutoCAD 2007")//查找标题
if(hwnd){
winex.setText(hwnd , "必强工具")       
}

Aries 发表于 2020-12-26 15:40:52

highflybird 发表于 2016-8-6 20:42
如果你装了DynamicWrapperX这个插件的话,几句话就搞定了,以下是LISP程序,适合2004以上各个版本

上面 ...

能否赐教改下拉菜单名称
页: [1] 2
查看完整版本: [悬赏5币]修改CAD标题栏