VB中的又一大意外(MDI窗体最大化无效问题)。。。近来看看!!

Gutta2 2004-11-01 10:38:47
今天真是丢人透顶了!~~~

一MM请教我一个很简单的问题,说是让MDI窗口的最大化按钮变灰色,还拿来一本书说就是这个样子。

哈哈,不就是MaxButton属性嘛,简单,于是我就拿自己的电脑做给她看看。。。

后果是什么。。。没有MaxButton属性,靠!!!
也没有ControlBox属性,BorderStyle属性也没有,这可怎么办。。。

大哥大姐们,为了小弟的终生幸福,帮帮我吧~~

:( 55555555555555555555555555
...全文
168 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinweihong 2005-08-29
  • 打赏
  • 举报
回复
意外什么,哪个关闭按钮去不掉的,顶多是无效,除非你自己画窗体
lsftest 2005-08-29
  • 打赏
  • 举报
回复
我试了上面的代码,按纽仍然在,只是不起作用
===========================
试试用前面lyxhappy(RosyClouds)兄的方法使它失效,然后用api:DrawMenuBar重画一下行不行??
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
cdsun 2005-08-29
  • 打赏
  • 举报
回复
不知道
我看SQL Server里面的子窗体

其余按钮都可用就是关闭按钮不好用

不知道他们怎么做

还有就是vb中模态窗口只能出现一个

但是为什么在outlook里面可以在模态窗口上面继续打开别的模态窗口?

这个又怎么做?
fantazxh 2005-08-29
  • 打赏
  • 举报
回复
不行的,还原还是可用啊
leolan 2004-11-01
  • 打赏
  • 举报
回复
//我试了上面的代码,按纽仍然在,只是不起作用

試試發送一個刷新標題欄的消息:

SendMessage MDIForm1.hwnd,WM_NCPAINT,1,Byval 0&

zyg0 2004-11-01
  • 打赏
  • 举报
回复
消失只能全消失,包括最小和其他的关闭什么的
cloudawind 2004-11-01
  • 打赏
  • 举报
回复
我试了上面的代码,按纽仍然在,只是不起作用
lyxhappy 2004-11-01
  • 打赏
  • 举报
回复
用API函数实现
Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Const MF_BYPOSITION = &H400&
Public Const MF_REMOVE = &H1000&
Public Const SC_CLOSE = &HF060
Public Const SC_MAXIMIZE = &HF030
Public Const SC_MINIMIZE = &HF020
‘最大化无效
RemoveMenu GetSystemMenu(hwnd, 0), SC_MAXIMIZE, MF_REMOVE
’最小化无效
RemoveMenu GetSystemMenu(hwnd, 0), SC_MINIMIZE, MF_REMOVE

‘关闭无效
RemoveMenu GetSystemMenu(hwnd, 0), SC_CLOSE, MF_REMOVE
’屏蔽关闭按钮
Dim hSysMenu As Long
Dim n As Long
hSysMenu = GetSystemMenu(Me.hwnd, False)
If hSysMenu Then
' 取得系统菜单中的数量
n = GetMenuItemCount(hSysMenu)
If n Then
RemoveMenu hSysMenu, n - 1, MF_BYPOSITION Or MF_REMOVE
'去掉 关闭 按钮
RemoveMenu hSysMenu, n - 2, MF_BYPOSITION Or MF_REMOVE
DrawMenuBar Me.hwnd
End If
End If
Gutta2 2004-11-01
  • 打赏
  • 举报
回复
怎么实现让最大化按钮失效???

在线急等啊~~!!!!!!!!!!!!!!!

7,785

社区成员

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

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