电脑教程
位置:首页>> 电脑教程>> office教程>> excel VBA 窗体之拖动边界改变大小窗体 实现代码

excel VBA 窗体之拖动边界改变大小窗体 实现代码

  发布时间:2022-10-11 15:58:14 

标签:excel,VBA,窗体,之,拖动,边界,改变,大小,实现

我们已经有了一系列怎样增强 VBA 窗体的文章,VBA 的窗体和一般正常的窗体区别很大,比如就不可以通过用鼠标拖动窗体的边框,我们今天就讲讲怎样给 VBA 窗体添加这个功能。

excel VBA 窗体之拖动边界改变大小窗体 实现代码
 

操作如下:
◾在Excel 的VBE窗口中插入一个用户窗体,将其命名为 frmNotEnabledCloseIcon。然后再添加一个模块。在窗体和模块中添加后面所列代码。
◾在工作薄中的工作表中添加一窗体按钮控件,指定其设置宏 ShowNotEnabledCloseIconForm, 其供示范之用.

 

具体代码:

 

"frmThickFram" 窗体代码

'********************************
'---此模块演示怎样删除窗体标题栏---

www.office26.com
'********************************
'以下声明API函数
#If Win64 Then '64位
'取得窗体样式位
Private Declare PtrSafe Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongPtrA" ( _
ByVal Hwnd As LongPtr, _
ByVal nIndex As Long) _
As LongPtr
'查找窗口
Private Declare PtrSafe Function FindWindow _
Lib "user32" _
Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As LongPtr
'设置窗体样式位
Private Declare PtrSafe Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongPtrA" ( _
ByVal Hwnd As LongPtr, _
ByVal nIndex As Long, _
ByVal dwNewLong As LongPtr) _
As LongPtr
'绘制窗体标题栏
Private Declare PtrSafe Function DrawMenuBar _
Lib "user32" ( _
ByVal Hwnd As LongPtr) _
As Long
#Else
'取得窗体样式位
Private Declare Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) _
As Long
'查找窗口
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 Declare Function DrawMenuBar _
Lib "user32" ( _
ByVal hwnd As Long) _
As Long
#End If
#If Win64 Then '64位
Private hWndForm As LongPtr
Private FIstype As LongPtr
#Else
Private hWndForm As Long
Private FIstype As Long
#End If
'以下定义常数和变量
Private Const GWL_STYLE = (-16) '窗口样式
Private Const WS_THICKFRAME = &H40000 '可更改大小
'---关闭按钮---
Private Sub btnClose_Click()
Unload Me
End Sub
'---窗体初始化---
Private Sub UserForm_Initialize()
On Error Resume Next
'查找窗体句柄
hWndForm = FindWindow("ThunderDFrame", Me.Caption)
'取得窗体样式
FIstype = GetWindowLong(hWndForm, GWL_STYLE)
'窗体样式:原样式和可拖动边框改变大小
FIstype = FIstype Or WS_THICKFRAME
'重设窗体样式
SetWindowLong hWndForm, GWL_STYLE, FIstype
'重绘窗体标题栏
DrawMenuBar hWndForm
End Sub

"mdThickfram" 模块代码

Option Explicit '
此过程为工作表内按钮调用
Sub ShowThickFramForm()
frmThickFram.Show
End Sub

1文件名称1下载链接
1禁用窗体关闭按钮.ziphttp://pan.baidu.com/s/1i39T4X3

excel VBA 窗体之拖动边界改变大小窗体 实现代码的下载地址:


     

0
投稿

猜你喜欢

  • 今天小编为大家分享6个提高办公效率的office办公软件小技巧,教程真的很不错,对于经常使用办公软件的朋友可以参考本文,来看看吧办公效率要提
  • 电脑BIOS启动项怎么设置?很多朋友都表示自己不知道怎么操作,其实不是很难,下面小编就为大家图解bios设置启动项,有需要的朋友可以参考本文
  • 问题描述:iPad中的照片可以重命名吗?如何给iPad中的照片重命名?解决办法:iPad中对某个照片进行命名,请按如下方法操作!打开需要重命
  • Foxmail是一款老牌的邮件管理软件,也是非常优秀的国产软件,在2005年被腾讯收购,腾讯除了拥有Foxmail邮箱业务外,还拥有QQ邮箱
  • 在win10系统中有用户反应电脑反应很慢,在打开任务管理器的时候发现一个名为“baidunetdisk”的进程占用磁盘100%的现象,该怎么
  • MAC地址,又叫做物理地址、硬件地址,是用来定义网络设备的位置,一般情况下,MAC地址在网卡中是固定的,但不排除有人手动去修改自己的MAC地
  • 在使用U盘安装系统的时候我们通常会先设置U盘启动,不然电脑会默认本地硬盘启动,这样会导致U盘插入时无法安装系统。那么我们使用U启大师U盘装系
  • 在Word中编辑文档,也可以像幻灯片设计一样套用美观的模板。不过,在Word中这些用于装饰的模板被称为主题,所以只要套用冰川、浪漫、彩虹等不
  • 想让表格里的文字360度旋转和任意改变方向?下面小编为大家介绍如何操作:1.选择你要更改的文字的单元格,然后右键》选择设置单元格格式2.选择
  • 磁盘管理功能,方便了对磁盘压缩、扩展、格式化等操作,还有部分同学不知道要怎么来打开,下面以图文的形式为大家介绍下几种可行的打开方法,不会的朋
  • 用户为了给Windows8系统设置IP地址,新系统的布局和WinXP系统的不一样找遍了各个角落都没找着,用户按照下面的方法可迅速找到配置IP
  • 如今,PDF文件已经是我们在工作当中最经常用到的文件之一了,而在使用PDF文件的时候难免会遇到需要将多个PDF文件合并成一个的操作,而这时候
  • 火绒安全软件是一款全功能的安全软件,有用户知道火绒安全软件怎么限制应用网速吗?那么我们应该怎么操作呢?接下来小编就为大忌带来详细的操作教程,
  • 金山WPS怎么连接文本框?如果是指文字直接连接到另一个文本框可以用“链接到文本框”试试,点击功能后选择另外一个空的文本框,此时第一个文本框填
  • 访达(Finder)在Mac电脑电脑中相当于Windows里的“我的电脑”,是Mac系统中最常用的程序。而标签则可以管理各种类型的文件,比如
  • Word文档是我们在日常生活和工作中经常会使用到的办公软件,在使用Word文档时,经常需要打印文档内容。那么,当我们遇到只需要打印部分Wor
  • PPT2013增加了相册功能,可以一次插入多张图片,而插入图片的版式以及相框形状等,都可以自己进行设置。下面小编为大家介绍在ppt中一秒插入
  • 不少小伙伴在使用电脑的时候,不知道进行了什么操作,电脑经常会出现死机卡死的状况,而且即使重启了电脑也无法解决。那么这是由于什么原因引起的呢?
  • 在Excel中,不同的单元宽度和高度都可以自己更改,大标题、小标题都可以根据自身的需要修改,不过随着单元格变化,文字并不会随单元格而变化,那
  • 现如今我们做任何事情都要讲求效率,这样就可以在同等时间添加下完成更多工作内容,进行高效产出了。在亿图脑图MindMaster进行制作思维导图
手机版 电脑教程 asp之家 www.aspxhome.com