救急!50分!

pyhjy 2000-05-23 01:37:00
各位大侠:
请问1、VB中MDI主窗体如何让它去掉最大化和最小化按钮。2、MID主窗体中如何用简单的方法实现关闭所有子窗体而主窗体不关闭。
Sunny 2000.5.22
...全文
146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TopHead 2000-05-25
  • 打赏
  • 举报
回复
我的源程序如下,不是pyhjy写的那样的,
Option Explicit
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Const GWL_STYLE = (-16)
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) 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 Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long

Private Sub m1_Click()
Dim a As Form
For Each a In Forms
If Not a Is MDIForm1 Then Unload a
Next
End Sub

Private Sub MDIForm_Load()
Dim l1 As Long, l2 As Long
l1 = GetWindowLong(Me.hwnd, GWL_STYLE)
Call SetWindowLong(Me.hwnd, GWL_STYLE, l1 And Not WS_MAXIMIZEBOX And Not WS_MINIMIZEBOX)
l2 = GetSystemMenu(Me.hwnd, 0)
Call RemoveMenu(l2, 3, MF_BYPOSITION)
Call RemoveMenu(l2, 3, MF_BYPOSITION)
Form1.Show
Form2.Show
End Sub
TopHead 2000-05-25
  • 打赏
  • 举报
回复
是指什么最大最小化按钮?是不是窗体右上角的最大最小化按钮,我给你的源程序不是已经去掉啦吗?
pyhjy 2000-05-25
  • 打赏
  • 举报
回复
TopHead
你好!
上回我收到的源程序确实和这次的不同,这次和我的问题完全符合。多谢你热心的帮助。各位网友如有这方面的需要可从这次的源代码获得解决的办法。
再次感谢TopHead.
sunny 2000.5.25
pyhjy 2000-05-24
  • 打赏
  • 举报
回复
各位大侠
多谢大家的关心。由于公司网络系统瘫痪,故没能即时回复和公布源程序,请大家见晾。TopHead 提供的源程序可以将关闭按钮功能屏蔽掉。但不能去掉最大化和最小化按钮和我的想法相反。但他提供了大家一个方法,大家可以自己琢磨一下如何能去掉最大化和最小化按钮,有消息和我联系。在次深表感谢!!!
TopHead的源程序
1:
Dim hMenu As Long
hMenu = GetSystemMenu(hwnd, False)
DeleteMenu hMenu, 6, &H400 'delete Close
DeleteMenu hMenu, 5, &H400 'delete -


2:dim f as form
for each f in forms
if f.MDIChild then Unload f
next
Un1 2000-05-23
  • 打赏
  • 举报
回复
各位网友:
1:
Dim hMenu As Long
hMenu = GetSystemMenu(hwnd, False)
DeleteMenu hMenu, 6, &H400 'delete Close
DeleteMenu hMenu, 5, &H400 'delete -


2:dim f as form
for each f in forms
if f.MDIChild then Unload f
next
tiger_zl 2000-05-23
  • 打赏
  • 举报
回复
能公布源程序吗?
xqzz 2000-05-23
  • 打赏
  • 举报
回复
怎么解决的?怎么不公布一下啊!
TopHead 2000-05-23
  • 打赏
  • 举报
回复
我把程序给你发过去,别忘了加分啊:)

7,763

社区成员

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

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