明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 革天明

如何更改标题栏

  [复制链接]
发表于 2011-12-8 10:08:05 | 显示全部楼层
革天明 发表于 2011-10-22 08:55
DynWrapX.dll 注册后在LSP可以修改标题,但ICO图片不知道怎么设置,资料太少,目前还不会。
(vl-load-com) ...

谢谢,革天明
标题修改成功,您再研究下图标怎么修改,非常感谢您的LSP
 楼主| 发表于 2012-6-18 16:29:28 | 显示全部楼层
xiaoyingzi 发表于 2011-8-31 23:06
使用前需注册下http://bbs.mjtd.com/forum.php?mod=viewthread&tid=85724&highlight=api里的DynWrapX.dll 文 ...

setq filename "mykey.ico")
大侠,这句没有用到啊?!如何更改图标呢,我用你的那个arx可以更改标题栏内的文字和图标,ARX的和这个有什么不同吗?如何才能使文字居中?我看见有的CAD中“在标题栏中显示完整路径”这部分文字内容可以居中显示,如何的控制靠左,居中、还是靠右?谢谢!
发表于 2012-6-18 20:16:53 | 显示全部楼层
(defun c:setmycadtitle (/ app acadver wrap hwnd filename str hico)
  (if (or (= (getvar "CPROFILE") "MyKey")
           (= (getvar "CPROFILE") "MyKeyE")
           (= (getvar "CPROFILE") "<<未命名配置>>")
      )
  (progn
  (vl-load-com)
  (setq app (vlax-get-acad-object))                                     ;CAD程序对象
  (setq acadver (atof (getvar "acadver")))                           ;获取当前cad版本
  (setq wrap (vlax-create-object "DynamicWrapperX"))                 ;创建DynamicWrapperX对象
  (setq hwnd (vla-get-hwnd app))                                       ;当前文档句柄
  (cond
    ((= acadver 16.0)(setq str "MyKey For AutoCAD 2004"))
    ((= acadver 16.1)(setq str "MyKey For AutoCAD 2005"))
    ((= acadver 16.2)(setq str "MyKey For AutoCAD 2006"))
    ((= acadver 17.0)(setq str "MyKey For AutoCAD 2007"))
    ((= acadver 17.1)(setq str "MyKey For AutoCAD 2008"))
    ((= acadver 17.2)(setq str "MyKey For AutoCAD 2009"))
    ((= acadver 18.0)(setq str "MyKey For AutoCAD 2010"))
  )
  (setq filename "mykey.ico")
  (vlax-invoke wrap 'Register "USER32" "SetWindowText" "i=ls" "r=l") ;注册SetWindowText函数
  (vlax-invoke wrap 'SetWindowText hwnd str)                         ;重设CAD程序标题窗口文字内容
  ;|
  (vlax-invoke wrap 'Register "USER32" "LoadImage" "i=lsllll" "r=l") ;注册LoadImage函数
  (vlax-invoke wrap 'Register "USER32" "SendMessage" "i=llll" "r=l") ;注册SendMessage函数
  (setq hico (vlax-invoke wrap 'LoadImage 0 filename 1 16 16 10))    ;获得装载的图标句柄
  (vlax-invoke wrap 'SendMessage hwnd 80 0 hico)                     ;重设CAD程序标题窗口图标
  |;
  (vlax-release-object wrap)
  )
  )
  (princ)
)
发表于 2012-6-18 20:18:40 | 显示全部楼层
本帖最后由 xiaoyingzi 于 2012-6-18 20:20 编辑

(setq filename "mykey.ico")这句是用来为下面做准备
  (vlax-invoke wrap 'Register "USER32" "LoadImage" "i=lsllll" "r=l") ;注册LoadImage函数
  (vlax-invoke wrap 'Register "USER32" "SendMessage" "i=llll" "r=l") ;注册SendMessage函数
  (setq hico (vlax-invoke wrap 'LoadImage 0 filename 1 16 16 10))    ;获得装载的图标句柄
  (vlax-invoke wrap 'SendMessage hwnd 80 0 hico)                     ;重设CAD程序标题窗口图标
这段总是有问题,获得得hico总是0
 楼主| 发表于 2012-6-19 08:23:37 | 显示全部楼层
xiaoyingzi 发表于 2012-6-18 20:18
(setq filename "mykey.ico")这句是用来为下面做准备
  (vlax-invoke wrap 'Register "USER32" "LoadImag ...

我现在使用您的arx版本的那个改图标和标题文字的,很好用,若不想让用户更改这些配置只能将这ico文件打包进VLX了,实现不行就准备打包进VLX,整个论坛就你对这个问题的研究最深,佩服!另外想问一下,你会修改CAD的启动画面吗?如http://bbs.mjtd.com/thread-70699-2-1.html?我照此方法做了06的,启动不了,直接使用链接上的dll,会弹出画面,然后就提示出错了,所以06的用不了
回复 支持 0 反对 1

使用道具 举报

发表于 2012-6-24 11:57:52 | 显示全部楼层
启动画面在这个文件 acadres.dll 里,找这个程序 ResHacker.exe ,拿它可以修改。

以前这样试过的,完全可以实现。

至于你说直接用链接上的DLL。 那个DLL是CAD04的。不可以拿来弄CAD06
 楼主| 发表于 2012-6-24 17:41:48 | 显示全部楼层
wowan1314 发表于 2012-6-24 11:57
启动画面在这个文件 acadres.dll 里,找这个程序 ResHacker.exe ,拿它可以修改。

以前这样试过的,完 ...

因为基于同样的原理,我以前也试过直接修改那个dll了,可并不有可行,因为我要修改的是06机械版的界面,那个dll中从头到尾都没有机械版的启动画面,其它dll里面没有认真找。谢谢你!
发表于 2013-1-17 21:22:10 | 显示全部楼层

  1. (defun C:addprops1 (/ App Doc DwgProps lanme dname pname)
  2.     (setq        App         (vlax-Get-Acad-Object)
  3.          Doc         (vla-Get-ActiveDocument App)
  4.          DwgProps (vla-Get-SummaryInfo Doc)
  5.     )

  6.     (setq Num (vla-NumCustomInfo DwgProps))

  7.     (setq lname (getvar "loginname"))
  8.     (IF (= lname "andrew")
  9.       (setq lname "AM")
  10.     )
  11.     (setq dname (vl-filename-base (getvar "dwgname")))
  12.     (setq        pname (vl-Filename-Base
  13.                  (vl-Filename-Directory (getvar "Dwgprefix"))
  14.                )
  15.     )
  16.     (vla-put-author dwgprops lname)
  17.     (if (vl-catch-all-apply
  18.          'vla-removecustombykey
  19.          (list dwgprops "")
  20.         )
  21.                                          ;(vla-addcustominfo dwgprops "" "84")
  22.       (progn
  23.         (vl-catch-all-apply
  24.          'vla-removecustombykey
  25.          (list dwgprops "Job No.")
  26.         )
  27.         (vla-addcustominfo dwgprops "Job No." "123")
  28.       )
  29.     )
  30.     (if (vl-catch-all-apply
  31.          'vla-removecustombykey
  32.          (list dwgprops "Job No.")
  33.         )
  34.       (vla-addcustominfo dwgprops "Job No." "123")
  35.       (progn
  36.         (vl-catch-all-apply
  37.          'vla-removecustombykey
  38.          (list dwgprops "Job No.")
  39.         )
  40.         (vla-addcustominfo dwgprops "Job No." "123")
  41.       )
  42.     )
  43.     (if (vl-catch-all-apply
  44.          'vla-removecustombykey
  45.          (list dwgprops "DWG Name")
  46.         )
  47.       (vla-addcustominfo dwgprops "DWG Name" "abc")
  48.       (progn
  49.         (vl-catch-all-apply
  50.          'vla-removecustombykey
  51.          (list dwgprops "DWG Name")
  52.         )
  53.         (vla-addcustominfo dwgprops "DWG Name" "abc")
  54.       )
  55.     )
  56.                                          ;(vla-AddCustomInfo DwgProps "Sample3" "Data3")
  57.                                          ;(vla-SetCustomByIndex DwgProps 0 "Sample1" "data1")
  58.                                          ;(vla-SetCustomByIndex DwgProps 1 "Sample2" "data2")
  59.                                          ;(vla-SetCustomByIndex DwgProps 2 "Sample3" "data3")

  60.     (setq xx (vla-GetCustomByIndex DwgProps 1 'id 'value))
  61.                                          ;(vla-GetCustomByIndex DwgProps 1 'cc 'dd)
  62.                                          ;(vla-GetCustomByIndex DwgProps 2 'ee 'ff)

  63.     (vla-put-comments
  64.       dwgprops
  65.       (strcat "New comments1\r\n" "comments2")
  66.     )
  67.                                          ;(vla-put-comments dwgprops "New comments2")
  68.     (vla-put-keywords dwgprops "New keywords")
  69.     (vla-put-subject dwgprops "Subject")
  70.     (vla-put-Title dwgprops "Title")
 楼主| 发表于 2013-1-21 17:34:50 | 显示全部楼层
z16 发表于 2013-1-17 21:22

使用之后没反应啊?
发表于 2013-1-22 18:32:22 | 显示全部楼层
革天明 发表于 2013-1-21 17:34
使用之后没反应啊?

试试这个贴中的方法: http://bbs.mjtd.com/thread-95111-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 09:35 , Processed in 0.159803 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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