明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8220|回复: 24

[函数] 【求助】 关于制作自己的全屏工具<隐藏标题、菜单栏>

[复制链接]
发表于 2013-4-7 12:51:37 | 显示全部楼层 |阅读模式
88明经币
本帖最后由 wowan1314 于 2013-4-7 21:06 编辑

喜欢全屏CAD作图。但已知的全屏工具均不太满意,所以有此想法.  想要的全屏:无标题栏,无菜单栏,有工具栏,有状态栏,有系统任务栏。

已知的全屏工具缺点。
1.CAD自带的,仅无标题栏,但工具栏没了,系统任务栏没了
2.ET带的全屏,有工具栏,有系统任务栏,无标题,无菜单。但也没状态栏了!
3.有个外挂的全屏软件,什么都没了。


通过加载高飞鸟分享的那个VLX...可调用API函数。令我看到了希望。


但缺存在一点BUG.   故发帖求达人帮忙完善。(在窗口最大化的情况下)
1、打开多个图纸的情况下。  在图纸间切换一下,菜单栏就又出现了。
2、从CAD界面切换到其他文件夹,再切换回来时候,系统的任务栏也被遮挡了。。

;;; 隐藏CAD菜单栏和标题栏                                               
;;; ====================================================================
(defun C:Ccc (/ DWX app hwnd menu)
  ;; Create a DynamicWrapperX instance and register win32 API functions.
  (setq DWX (vlax-create-object "DynamicWrapperX"))
  (and (null DWX) (exit))
  (vlax-invoke DWX 'Register "USER32" "SetWindowLong" "i=lll" "r=l") ;注册SetWindowLong函数
  (vlax-invoke DWX 'Register "USER32" "GetWindowLong" "i=ll" "r=l") ;注册GetWindowLong函数
  (vlax-invoke DWX 'Register "USER32" "SetMenu" "i=ll" "r=l")  ;设置菜单
  (vlax-invoke DWX 'Register "USER32" "GetMenu" "i=l" "r=l")  ;取得当前菜单句柄
  ;;Hide the title and menubar
  (setq app (vlax-get-acad-object))     ;当前CAD程序
  (setq hwnd (vla-get-hwnd app))     ;CAD窗口句柄
  (ShowTitle DWX hwnd nil)      ;隐藏标题栏
  (setq menu (vlax-invoke DWX 'GetMenu hwnd))                           ;获得程序的菜单句柄
  (and (/= menu 0) (setq hMenu menu))     ;此处应把hMenu设置为全局变量
  (vlax-invoke DWX 'SetMenu hwnd 0)     ;(vlax-invoke DWX 'SetMenu hwnd hMenu) 恢复菜单栏
  ;; Release object
  (vlax-release-object app)
  (vlax-release-object DWX)
  (princ)
)
(defun ShowTitle (DWX hwnd Show / oldStyle)    ;如果show 为t 那么显示,否则不显示
  (setq oldStyle  (vlax-invoke Dwx 'GetWindowLong hwnd -16))   ;GWL_STYLE -16
  (if Show
    (if (zerop (logand oldstyle 12582912))    ;WS_CAPTION 12582912 C00000
      (vlax-invoke DWX 'SetWindowLong hwnd -16 (+ oldstyle 12582912))
    )
    (if (/= 0  (logand oldstyle 12582912))    ;WS_CAPTION 12582912 C00000
      (vlax-invoke DWX 'SetWindowLong hwnd -16 (- oldstyle 12582912))
    )
  )
)

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2013-4-7 19:40:42 | 显示全部楼层
沉的太快了!!! 我顶
回复

使用道具 举报

发表于 2013-4-8 07:58:14 | 显示全部楼层
我来帮你顶,
回复

使用道具 举报

发表于 2013-4-9 09:10:10 | 显示全部楼层
顶啊。。。。
回复

使用道具 举报

发表于 2013-4-9 09:34:27 | 显示全部楼层
其实我有个好方法
买个27的显示器,就不用全屏了
帮你顶

点评

哎!玩CAD玩的变态了!看见界面上有没用的东西就觉的不爽!  发表于 2013-4-10 14:32
回复

使用道具 举报

 楼主| 发表于 2013-4-9 11:10:23 | 显示全部楼层
print1985 发表于 2013-4-9 09:34
其实我有个好方法
买个27的显示器,就不用全屏了
帮你顶

其实每次我都是手动设置全屏!只是想用程序会省事很多!
回复

使用道具 举报

发表于 2013-4-9 12:08:56 | 显示全部楼层
好想法,楼主厉害88
回复

使用道具 举报

发表于 2013-4-9 12:50:48 | 显示全部楼层
帮你顶一下,弱弱问一下,ET带的全屏命令是那个?
回复

使用道具 举报

发表于 2013-4-9 12:51:34 | 显示全部楼层
期待高人出现!我也想拥有这样的工具!
回复

使用道具 举报

发表于 2013-4-10 11:00:19 | 显示全部楼层
主题要求写的非常细致,帮顶。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 06:43 , Processed in 0.219402 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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