禁用标题栏上的最大化、最小化或关闭按钮(二十五)

  

禁用标题栏上的最大化、最小化或关闭按钮 ( 二十五 )
本文讲述如何把标题栏上的最大化,最小化和关闭按钮禁用和启用。
1.      创建一个单文档工程。
2.      添加一个菜单项,分别为“最小化禁用”,“最大化禁用”,“关闭禁用”和相应的启用。添加两个变量如下:
   LONG   Style ;
       CRect Rect ;
3.      “最小化禁用”的代码如下:
       // 获得窗口风格
       Style = :: GetWindowLong ( m_hWnd , GWL_STYLE );
       // 设置新的风格
       Style &= ~( WS_MINIMIZEBOX );
       :: SetWindowLong ( m_hWnd , GWL_STYLE , Style );
       GetWindowRect (& Rect );
       // 重画窗口边框
       :: SetWindowPos ( m_hWnd , HWND_TOP , Rect . left , Rect . top , Rect . Width (), Rect . Height (), SWP_DRAWFRAME );
4. “最大化禁用”的代码如下:
       // TODO: Add your command handler code here
       Style =:: GetWindowLong ( m_hWnd , GWL_STYLE );
       Style &= ~( WS_MAXIMIZEBOX );
       :: SetWindowLong ( m_hWnd , GWL_STYLE , Style );
       GetWindowRect (& Rect );
       :: SetWindowPos ( m_hWnd , HWND_TOP , Rect . left , Rect . top , Rect . Width (), Rect . Height (), SWP_DRAWFRAME );
5. “关闭禁用”的代码如下:
       // 获得系统采单
       CMenu * pMenu = GetSystemMenu ( false );
       // 获得关闭按钮 ID
       UINT ID = pMenu -> GetMenuItemID ( pMenu -> GetMenuItemCount ()-1);
       // 是关闭按钮无效
       pMenu -> EnableMenuItem ( ID , MF_GRAYED );
6. “最小化启用”的代码如下:
       // 获得窗口风格
       Style = :: GetWindowLong ( m_hWnd , GWL_STYLE );
       // 设置新的风格
       Style |= WS_MINIMIZEBOX ;
       :: SetWindowLong ( m_hWnd , GWL_STYLE , Style );
       GetWindowRect (& Rect );
       // 重画窗口边框
       :: SetWindowPos ( m_hWnd , HWND_TOP , Rect . left , Rect . top , Rect . Width (), Rect . Height (), SWP_DRAWFRAME );
7. “最大化启用”的代码如下:
       // 获得窗口风格
       Style = :: GetWindowLong ( m_hWnd , GWL_STYLE );
       // 设置新的风格
       Style |= WS_MAXIMIZEBOX ;
       :: SetWindowLong ( m_hWnd , GWL_STYLE , Style );
       GetWindowRect (& Rect );
       // 重画窗口边框
       :: SetWindowPos ( m_hWnd , HWND_TOP , Rect . left , Rect . top , Rect . Width (), Rect . Height (), SWP_DRAWFRAME );
8. “关闭启用”代码如下:
       // 获得窗口风格
       Style = :: GetWindowLong ( m_hWnd , GWL_STYLE );
       // 设置新的风格
       Style |= WS_MAXIMIZEBOX ;
       :: SetWindowLong ( m_hWnd , GWL_STYLE , Style );
       GetWindowRect (& Rect );
       // 重画窗口边框
       :: SetWindowPos ( m_hWnd , HWND_TOP , Rect . left , Rect . top , Rect . Width (), Rect . Height (), SWP_DRAWFRAME );
完成。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 窗体与界面设计   1.1 菜单应用实例    实例001 在系统菜单添加菜单项    实例002 带图标的程序菜单    实例003 根据表数据动态生成菜单    实例004 浮动的菜单   1.2 弹出菜单应用实例    实例005 在控件上单击右键弹出菜单    实例006 个性化的弹出菜单    实例007 任务栏托盘弹出菜单   1.3 工具栏应用实例    实例008 带背景的工具栏    实例009 带图标的工具栏    实例010 带下拉菜单的工具栏    实例011 可调整按钮位置的工具栏    实例012 XP风格工具栏    实例013 动态设置是否显示工具栏按钮文本    实例014 具有提示功能的工具栏   1.4 状态栏应用实例    实例015 带进度条的状态栏    实例016 动画效果的状态栏    实例017 滚动字幕的状态栏   1.5 导航界面应用实例    实例018 Outlook导航界面    实例019 树状导航界面    实例020 按钮导航界面    实例021 图片导航界面   1.6 界面窗体应用实例    实例022 使用位图设计畸形界面    实例023 椭圆形的程序界面    实例024 自绘窗体界面    实例025 以时钟显示界面    实例026 窗体融合技术    实例027 限制对话框最大时的窗口大小    实例028 分割视图窗口    实例029 对话框全屏显示   1.7 多媒体宣传光盘应用实例    实例030 多媒体宣传光盘主界面    实例031 自动运行的多媒体宣传光盘   1.8 多媒体触摸屏程序应用实例    实例032 采购心多媒体触摸屏程序    实例033 为触摸屏程序添加虚拟键盘   1.9 窗体位置应用实例    实例034 不可移动的窗体    实例035 始终在最上面的窗体    实例036 以动画形式显示窗体    实例037 磁性窗体   1.10 窗体标题栏应用实例    实例038 闪烁的窗体标题栏    实例039 拖动没有标题栏的窗体    实例040 禁用标题栏上的最大化最小化关闭按钮   1.11 窗体形状及应用    实例041 半透明窗体    实例042 创建字型窗体    实例043 设计桌面精灵   1.12 通用对话框的应用    实例044 打开位图预览对话框    实例045 打开Windows新型对话框    实例046 同时选择多个文件    实例047 文本替换对话框    实例048 字体选择对话框  第2章 控件应用   2.1 按钮控件典型实例    实例049 AVI动画按钮    实例050 GIF动画按钮    实例051 图文按钮    实例052 不规则按钮    实例053 热点按钮   2.2 编辑框控件典型实例    实例054 为编辑框设置新的系统菜单    实例055 为编辑框控件添加列表选择框    实例056 多彩边框的编辑框    实例057 改变编辑框文本颜色    实例058 不同文本颜色的编辑框    实例059 位图背景编辑框   2.3 静态文本控件典型实例    实例060 电子计时器    实例061 使用静态文本控件设计群组框    实例062 制作超链接控件   2.4 列表框控件典型实例    实例063 利用列表框控件实现标签式数据选择    实例064 具有水平滚动条的列表框控件    实例065 列表项的提示条    实例066 位图背景列表框控件   2.5 组合框控件典型实例    实例067 将数据表的字段添加到组合框控件    实例068 带查询功能的组合框控件    实例069 自动调整组合框的宽度    实例070 颜色组合框    实例071 多列显示的组合框    实例072 带图标的组合框    实例073 显示系统盘符组合框   2.6 列表视图控件典型实例    实例074 Windows资源管理器    实例075 利用列表视图控件浏览数据    实例076 利用列表视图控件制作导航界面    实例077 在列表视图拖动视图项    实例078 具有排序功能的列表视图控件    实例079 具有文本录入功能的列表视图控件    实例080 使用列表视图设计登录界面   2.7 树视图控件典型实例    实例081 多级数据库树状结构数据显示    实例082 节点拖动功能的树控件    实例083 带复选功能的树状结构    实例084 三态效果树控件    实例085 修改树控件节点连线颜色    实例086 位图背景树控件    实例087 显示磁盘目录    实例088 树型提示
第1章 窗体与界面设计   1.1 菜单应用实例    实例001 在系统菜单添加菜单项    实例002 带图标的程序菜单    实例003 根据表数据动态生成菜单    实例004 浮动的菜单   1.2 弹出菜单应用实例    实例005 在控件上单击右键弹出菜单    实例006 个性化的弹出菜单    实例007 任务栏托盘弹出菜单   1.3 工具栏应用实例    实例008 带背景的工具栏    实例009 带图标的工具栏    实例010 带下拉菜单的工具栏    实例011 可调整按钮位置的工具栏    实例012 XP风格工具栏    实例013 动态设置是否显示工具栏按钮文本    实例014 具有提示功能的工具栏   1.4 状态栏应用实例    实例015 带进度条的状态栏    实例016 动画效果的状态栏    实例017 滚动字幕的状态栏   1.5 导航界面应用实例    实例018 Outlook导航界面    实例019 树状导航界面    实例020 按钮导航界面    实例021 图片导航界面   1.6 界面窗体应用实例    实例022 使用位图设计畸形界面    实例023 椭圆形的程序界面    实例024 自绘窗体界面    实例025 以时钟显示界面    实例026 窗体融合技术    实例027 限制对话框最大时的窗口大小    实例028 分割视图窗口    实例029 对话框全屏显示   1.7 多媒体宣传光盘应用实例    实例030 多媒体宣传光盘主界面    实例031 自动运行的多媒体宣传光盘   1.8 多媒体触摸屏程序应用实例    实例032 采购心多媒体触摸屏程序    实例033 为触摸屏程序添加虚拟键盘   1.9 窗体位置应用实例    实例034 不可移动的窗体    实例035 始终在最上面的窗体    实例036 以动画形式显示窗体    实例037 磁性窗体   1.10 窗体标题栏应用实例    实例038 闪烁的窗体标题栏    实例039 拖动没有标题栏的窗体    实例040 禁用标题栏上的最大化最小化关闭按钮   1.11 窗体形状及应用    实例041 半透明窗体    实例042 创建字型窗体    实例043 设计桌面精灵   1.12 通用对话框的应用    实例044 打开位图预览对话框    实例045 打开Windows新型对话框    实例046 同时选择多个文件    实例047 文本替换对话框    实例048 字体选择对话框  第2章 控件应用   2.1 按钮控件典型实例    实例049 AVI动画按钮    实例050 GIF动画按钮    实例051 图文按钮    实例052 不规则按钮    实例053 热点按钮   2.2 编辑框控件典型实例    实例054 为编辑框设置新的系统菜单    实例055 为编辑框控件添加列表选择框    实例056 多彩边框的编辑框    实例057 改变编辑框文本颜色    实例058 不同文本颜色的编辑框    实例059 位图背景编辑框   2.3 静态文本控件典型实例    实例060 电子计时器    实例061 使用静态文本控件设计群组框    实例062 制作超链接控件   2.4 列表框控件典型实例    实例063 利用列表框控件实现标签式数据选择    实例064 具有水平滚动条的列表框控件    实例065 列表项的提示条    实例066 位图背景列表框控件   2.5 组合框控件典型实例    实例067 将数据表的字段添加到组合框控件    实例068 带查询功能的组合框控件    实例069 自动调整组合框的宽度    实例070 颜色组合框    实例071 多列显示的组合框    实例072 带图标的组合框    实例073 显示系统盘符组合框   2.6 列表视图控件典型实例    实例074 Windows资源管理器    实例075 利用列表视图控件浏览数据    实例076 利用列表视图控件制作导航界面    实例077 在列表视图拖动视图项    实例078 具有排序功能的列表视图控件    实例079 具有文本录入功能的列表视图控件    实例080 使用列表视图设计登录界面   2.7 树视图控件典型实例    实例081 多级数据库树状结构数据显示    实例082 节点拖动功能的树控件    实例083 带复选功能的树状结构    实例084 三态效果树控件    实例085 修改树控件节点连线颜色    实例086 位图背景树控件    实例087 显示磁盘目录    实例088 树型提示

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值