ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 利用API快速隐藏所有窗体控件

利用API快速隐藏所有窗体控件

作者:绿色风 分类: 时间:2022-08-18 浏览:74
楼主
amulee
VBA的窗体很奇怪,在主窗体下还有个子窗体,所有的控件都是画在这个子窗体上的。
利用API可以隐藏该子窗体,从而实现所有控件的隐藏。
代码参考如下:
  1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  2. Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
  3. Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
  4. Private Const SW_HIDE = 0
  5. Private Const SW_SHOW = 5
  6. Private Sub UserForm_Click()
  7.     Dim ChildHwnd&
  8.     ChildHwnd = FindWindowEx(FindWindow(vbNullString, Me.Caption), 0, vbNullString, vbNullString)
  9.     ShowWindow ChildHwnd, SW_HIDE
  10.     MsgBox "窗体内所有控件已经隐藏。点击确定后再次显示。"
  11.     ShowWindow ChildHwnd, SW_SHOW
  12. End Sub

快速隐藏所有控件.rar
2楼
い卋玑┾宝珼
发现个新**,学习下

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap