控制MDI窗口的,最大化.最小化按钮!

原创 2004年10月31日 15:40:00

Private Declare Function GetSystemMenu Lib "USER32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "USER32" (ByVal hMenu 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 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 Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const GWL_STYLE = (-16)
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&
Private Sub MDIForm_Load()
    Dim lWnd As Long
    DisableX
    lWnd = GetWindowLong(Me.hwnd, GWL_STYLE)
    lWnd = lWnd And Not (WS_MINIMIZEBOX)
    lWnd = lWnd And Not (WS_MAXIMIZEBOX)
    lWnd = SetWindowLong(Me.hwnd, GWL_STYLE, lWnd)
End Sub


Private Sub DisableX()
        '/* 不显示控制菜单
         Dim hMenu, nCount, LO     As Long
         hMenu = GetSystemMenu(Me.hwnd, 0)
         nCount = GetMenuItemCount(hMenu)
         LO = RemoveMenu(hMenu, nCount - 3, MF_REMOVE Or MF_BYPOSITION)
         LO = RemoveMenu(hMenu, nCount - 4, MF_REMOVE Or MF_BYPOSITION)
End Sub

 

MDI设计中,子窗口的不同显示方式(最大化显示,普通显示,最小化显示)

1、开始创建子窗口时,多个子窗口按不同方式显示     void CChildFrame::ActivateFrame(int nCmdShow) { switch(m_currentwin) { ...
  • rexlend
  • rexlend
  • 2010年03月07日 19:45
  • 647

Qt在MDI area中新建subwindow时,默认最大最小化及关闭按钮在标题栏左边,怎么移到右边去

很简单: subWin->setWindowFlags(windowFlags()&Qt::LeftToRight);//设置从左到右 顺带补充部分其他关于设置子窗口的代码:    ...
  • boan2018
  • boan2018
  • 2017年07月04日 11:29
  • 464

解决winform中mdi子窗体加载时显示最大化最小化按钮的方法

解决winform中mdi子窗体加载时显示最大化最小化按钮的方法场景:在mid加载子窗体的时候如果指定WindowState为Maximized,加载完成后主窗体会显示最大化、最小化、关闭的按钮图标。...
  • qq_18682287
  • qq_18682287
  • 2017年08月25日 11:54
  • 318

C#程序实现窗体的最大化/最小化

C#代码实现: private void button1_Click(object sender, EventArgs e) { this.WindowState = FormWindowS...
  • jiangqin115
  • jiangqin115
  • 2014年11月18日 18:55
  • 5671

QT隐藏最大化和最小化按钮

隐藏(不显示)最大化最小化按钮: MainWindow w; w.setWindowFlags(w.windowFlags()&~Qt::WindowMinMaxButtonsHint); 使...
  • yy64578537
  • yy64578537
  • 2017年04月26日 13:39
  • 1795

【WPF】Window窗体禁用最大化/最小化按钮

ResizeMode="NoResize"
  • qq_18995513
  • qq_18995513
  • 2017年01月18日 17:34
  • 1297

解决Fedora没有最大化最小化按钮

解决Fedora没有最大化最小化按钮   方法一:(Fedora16的时候用的是下面黑色字体的部分,当升级17后发现无法用黑色字体部分的方法,不知道其他人是否有同样的问题) 打开ter...
  • lyhDream
  • lyhDream
  • 2013年06月03日 22:27
  • 2298

QDialog对话框添加最大最小化按钮

1.从QDialog继承的对话框风格只有关闭和“?”两个按钮,没有最大最小化按钮,如下图所示: 但是很多时候我们需要最大最小化按钮,这时候具体做法是: 在对话框的构造函数中添加如下代码,效果如稀土所...
  • hudfang
  • hudfang
  • 2014年12月23日 19:19
  • 1638

MDI父窗体中的子窗体最大化后消除子窗体在父窗体菜单栏中的图标

private void menuStrip1_ItemAdded(object sender, ToolStripItemEventArgs e) {     if (e.Item.Text.L...
  • az44yao
  • az44yao
  • 2014年10月22日 12:06
  • 955

在网页中使用javascript打开没有最大化、最小化和关闭按钮的窗口

 window.open("url", "_blank", "fullscreen=3,titlebar=no,toolbar=no,location=no,directories=no,status...
  • cmoremore
  • cmoremore
  • 2004年11月01日 10:27
  • 1618
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:控制MDI窗口的,最大化.最小化按钮!
举报原因:
原因补充:

(最多只允许输入30个字)