如何使MDI主窗体的最大化按钮变灰?

lm517 2003-10-15 10:58:11
thank you!
...全文
43 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangyds 2003-10-17
  • 打赏
  • 举报
回复
把这一句:
Call RemoveMenu(hMenu, nCount - 1, MF_BYPOSITION)
改成:
Call RemoveMenu(hMenu, nCount - 3, MF_BYPOSITION)
exiong 2003-10-17
  • 打赏
  • 举报
回复
你的代码在Xp以上版本失效
j4sxw 2003-10-17
  • 打赏
  • 举报
回复
UP
yishuihanqing 2003-10-17
  • 打赏
  • 举报
回复
晕,没看清

Call RemoveMenu(hMenu, nCount - 1, MF_BYPOSITION)
改成:
Call RemoveMenu(hMenu, nCount - 3, MF_BYPOSITION)

可以禁止最大化按钮,但不会变成灰色,不知道是不是符合你的要求
lm517 2003-10-16
  • 打赏
  • 举报
回复
to zlpanzy(安之):
你的方法不行,系统报错:当最大化或最小化时窗体不能移动或调整.
yishuihanqing 2003-10-16
  • 打赏
  • 举报
回复
给分啊,兄弟
yishuihanqing 2003-10-16
  • 打赏
  • 举报
回复
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Const MF_BYPOSITION = &H400&



Private Sub MDIForm_Load()

Dim hMenu As Long, nCount As Long

hMenu = GetSystemMenu(Me.hwnd, 0)

nCount = GetMenuItemCount(hMenu)

Call RemoveMenu(hMenu, nCount - 1, MF_BYPOSITION)

DrawMenuBar Me.hwnd

End Sub
lm517 2003-10-16
  • 打赏
  • 举报
回复
to yishuihanqing(易水寒):
你的是使主窗体的关闭按钮变灰,可我要的是最大化按钮变灰。
GinusAtCSDN 2003-10-16
  • 打赏
  • 举报
回复
MaximizeBox
获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。
whjwsy 2003-10-16
  • 打赏
  • 举报
回复
MDI只能最大化或最小化
zlpanzy 2003-10-15
  • 打赏
  • 举报
回复
你可能得用Api了
不过有一个能达到你的“不能用最大化”的效果的方法:
在MDI主窗体的Resize事件里 写 me.height = ...
me.width =...
这样也可以

7,762

社区成员

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

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