ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 清风_ll

[Excel 程序开发] [第46期] CommandBars对象模型树信息(已总结)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-4-27 00:40 | 显示全部楼层
我的代码也有一 处疏漏,代码第89行这里:
Public Function GetSaveAsFileName() As String
  ....
       oFName.hwndOwner = FindWindow("XLMAIN", Application.Caption)
        oFName.hInstance = GetWindowLong(hwnd, GWL_HINSTANCE)
红色字体部分应该为oFName.hwndOwner,hwnd是开始的时候使用的,后来为了节省一个变量就直接把Excel主窗口句柄值赋给oFName.hwndOwner了,但忘了改下面那个地方

TA的精华主题

TA的得分主题

发表于 2009-4-27 12:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
其实我第一次做好的就是在任何节点显示菜单的,是我把题目意思理解错了。我以为只管commandbar这一级(题目中说“针对……”被我误解了)。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-27 16:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 fdd 于 2009-4-27 12:03 发表
其实我第一次做好的就是在任何节点显示菜单的,是我把题目意思理解错了。我以为只管commandbar这一级(题目中说“针对……”被我误解了)。


理解还有偏差,是指仅当右击节点时才显示快捷菜单,而当右击其它地方(如空白处)不应显示该菜单。

TA的精华主题

TA的得分主题

发表于 2009-4-27 16:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 小fisher 于 2009-4-18 19:01 发表
496896

1、完整显示对象集合的结构层次;
2、完成在ListView控件中显示控件的相关属性;
3 、完成快捷菜单。
在完成以上要求的前提下,添加了许多精彩的功能:
* 为节点添加相应图标;
* 预览图标或相应命令 ...
* 可拖拉的分隔条功能,功能有待完善:向右拖动后,右侧控件显示不完整。

谢谢清风版主评论,最后一个问题确实是我疏忽了,原因是开始时分隔条控件的宽度设置为了4.5,在vSplitbar类模块中直接使用这个常量代替了oLable.Width,后来可能是在设计时不小心拖动了分隔条的宽度改为了6,导致每次拖动后右侧控件宽度增加1.5,要修正这个Bug,需要将vSplitbar类模块中倒数第8行代码由
oItem.Width = oItem.Left + oItem.Width - oLabel.Left - 4.5改为
oItem.Width = oItem.Left + oItem.Width - oLabel.Left - oLabel.Width
再次感谢清风版主和fdd的抬爱,现将修正前面所说的两处问题之后的文件传上来,希望能对需要其中某些功能的人有所帮助


[ 本帖最后由 小fisher 于 2009-4-27 16:24 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-27 16:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 小fisher 于 2009-4-27 16:17 发表

谢谢清风版主评论,最后一个问题确实是我疏忽了,原因是开始时分隔条控件的宽度设置为了4.5,在vSplitbar类模块中直接使用这个常量代替了oLable.Width,后来可能是在设计时不小心拖动了分隔条的宽度改为了6,导致每 ...

非常感谢小fisher朋友完善作品。

TA的精华主题

TA的得分主题

发表于 2009-4-27 17:40 | 显示全部楼层
原帖由 清风_ll 于 2009-4-27 16:04 发表


理解还有偏差,是指仅当右击节点时才显示快捷菜单,而当右击其它地方(如空白处)不应显示该菜单。


版主设的“陷阱”挺多的呀!下次得小心百倍了啰。

TA的精华主题

TA的得分主题

发表于 2009-4-27 18:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 14楼 小fisher 的帖子

感谢小fisher 提供的几近完美的示例。
惊叹于小fisher  VBA的深厚功底!
高山仰止,向你学习。
有些语句还有点不是很明白,如果能够加上注释那就跟完美了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-4-28 16:32 | 显示全部楼层
原帖由 fdd 于 2009-4-27 17:40 发表


版主设的“陷阱”挺多的呀!下次得小心百倍了啰。

呵呵,是我没说清楚,以后会注意尽量将问题描述清楚。

TA的精华主题

TA的得分主题

发表于 2009-4-29 07:49 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-1 18:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
看到小fisher高手也来,99、88都来参加了,我也要好好努力学习,有时间就好好研究。对Treeview这个不熟悉,希望这道竞赛题能带我去好好理解
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-4 02:37 , Processed in 0.051877 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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