关于vb的MDI窗体的问题···

DNAbomb 2004-07-21 11:34:56
怎样能使MDI窗体大小不能改变?(不能最大,最小化,不能通过拖拽改变)?
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuboying 2004-07-22
  • 打赏
  • 举报
回复
Private Const WS_THICKFRAME = &H40000
Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE = (-16)
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long


Private Sub MDIForm_Load()
Dim xl As Long
Me.Show
Debug.Print Hex(Not WS_THICKFRAME)
xl = GetWindowLong(Me.hwnd, GWL_STYLE)
xl = xl And (Not WS_THICKFRAME) And (Not WS_MINIMIZEBOX) And (Not WS_MAXIMIZEBOX)
SetWindowLong Me.hwnd, GWL_STYLE, xl
End Sub

我也来蹭一分
DNAbomb 2004-07-22
  • 打赏
  • 举报
回复
哦谢谢拉~~
sorry啊···我刚来,还不清楚这个分的制度啊···我菜,以后有很多问题啊···分用完了是不是不可以问了啊????
熊孩子开学喽 2004-07-22
  • 打赏
  • 举报
回复
不过楼主啊,你那个分可也太那个点了吧,才2分,要不是我还真想不出谁乐意回答你呢。
熊孩子开学喽 2004-07-22
  • 打赏
  • 举报
回复
Dim WID as Long
Dim Hei as Long '定义两个全局变量,用来存放窗体的高和宽
...
Sub Form_Load() '启动窗体的时候先把高和宽保存下来
WID=Me.Width
HEI=Me.Height
End Sub

Sub Form_Resize() '窗体变化的时候,把大小改回来
If Me.Width <>WID Then Me.Width =WID
If Me.Height<>HEI Then Me.Height=HEI
End Sub

这个可以解决问题了吧

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧