您的当前位置:首页正文

VBA中窗体的设置

2020-10-27 来源:欧得旅游网


VBA中窗体的设置(隐藏关闭按钮)

其实在VBA中,我们可以利用API的SetWindowLong函数来进行对VBA中窗体的设置。

以下代码添加到窗体中,可以隐藏窗体的关闭按钮。

'API声明

Private Declare Function FindWindow Lib \"user32\" Alias _

\"FindWindowA\" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function SetWindowLong Lib \"user32\" Alias _

\"SetWindowLongA\" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

'窗体初始化

Private Sub UserForm_Initialize()

'将窗体设置为全部按钮都没有,不能改变大小

SetWindowLong FindWindow(vbNullString, Me.Caption), -16, &H6C10000

End Sub

在这个程序中,SetWindowLong的第四个参数其实就是控制窗体格式的,上述代码是初始化窗体的代码,如果要在窗体运行中改变窗体样式,那么第四个参数最前面加一个1。

SetWindowLong FindWindow(vbNullString, Me.Caption), -16, &H16C10000

其实通过第四个参数的改变,可以改变窗体的属性。具体的对应关系如下:

&H16C00000 全部按钮都没有、Title消失

&H16C10000 全部按钮都没有、无法改变窗口大小

&H16C50000 全部按钮都没有、可以改变窗口大小

&H16C80000 Max、Min按钮消失、鼠标不能改变Form的大小

&H16C90000 Min按钮消失、鼠标不能改变Form的大小

&H16CA0000 Max按钮消失、鼠标不能改变Form的大小

&H16CB0000 出现Min、Max按钮,鼠标不能改变Form的大小

&H16CC0000 Min、Max按钮消失,鼠标仍可改变Form的大小

&H16CD0000 Min按钮消失,鼠标仍可改变Form的大小

&H16CE0000 Max按钮消失,鼠标仍可改变Form的大小

&H16CF0000 所有按钮都有,滑数可改变大小、正常窗口

&H16D10000 &H16D50000 &H16D80000 的大小

&H16D90000 &H16DA0000 &H16DB0000 &H16DC0000 的大小

&H16DD0000 &H16DE0000 出现水平滚动条、全部按钮都没有、无法改变窗口大小

出现水平滚动条、全部按钮都没有、可以改变窗口大小

出现水平滚动条、Max、Min按钮消失、鼠标不能改变Form出现水平滚动条、Min按钮消失、鼠标不能改变Form的大小 出现水平滚动条、Max按钮消失、鼠标不能改变Form的大小 出现水平滚动条、鼠标不能改变Form的大小

出现水平滚动条、Min、Max按钮消失,鼠标仍可改变Form出现水平滚动条、Min按钮消失,鼠标仍可改变Form的大小 出现水平滚动条、Max按钮消失,鼠标仍可改变Form的大小

&H16DF0000 出现水平滚动条、所有按钮都有,滑数可改变大小、正常窗口

&H16E10000 出现垂直滚动条、全部按钮都没有、无法改变窗口大小

&H16E50000 出现垂直滚动条、全部按钮都没有、可以改变窗口大小

&H16E80000 的大小

&H16E90000 &H16EA0000 &H16EB0000 &H16EC0000 的大小

&H16ED0000 &H16EE0000 &H16EF0000 &H16F10000 口大小

出现垂直滚动条、Max、Min按钮消失、鼠标不能改变Form出现垂直滚动条、Min按钮消失、鼠标不能改变Form的大小

出现垂直滚动条、Max按钮消失、鼠标不能改变Form的大小

出现垂直滚动条、鼠标不能改变Form的大小

出现垂直滚动条、Min、Max按钮消失,鼠标仍可改变Form出现垂直滚动条、Min按钮消失,鼠标仍可改变Form的大小

出现垂直滚动条、Max按钮消失,鼠标仍可改变Form的大小

出现垂直滚动条、所有按钮都有,滑数可改变大小、正常窗口

出现水平滚动条、垂直滚动条、全部按钮都没有、无法改变窗

&H16F50000 出现水平滚动条、垂直滚动条、全部按钮都没有、可以改变窗口大小

&H16F80000 出现水平滚动条、垂直滚动条、Max、Min按钮消失、鼠标不能改变Form的大小

&H16F90000 Form的大小

&H16FA0000 Form的大小

&H16FB0000 &H16FC0000 可改变Form的大小

&H16FD0000 Form的大小

&H16FE0000 Form的大小

&H16FF0000 小、正常窗口

出现水平滚动条、垂直滚动条、Min按钮消失、鼠标不能改变出现水平滚动条、垂直滚动条、Max按钮消失、鼠标不能改变出现水平滚动条、垂直滚动条、鼠标不能改变Form的大小

出现水平滚动条、垂直滚动条、Min、Max按钮消失,鼠标仍出现水平滚动条、垂直滚动条、Min按钮消失,鼠标仍可改变出现水平滚动条、垂直滚动条、Max按钮消失,鼠标仍可改变出现水平滚动条、垂直滚动条、所有按钮都有,滑数可改变大

因篇幅问题不能全部显示,请点此查看更多更全内容