社区
界面
帖子详情
高手请问,如何去掉子窗口标题栏上的最大化和最小化按钮,但保留关闭按钮?
ljunfa
2005-05-30 11:14:49
多文档界面,子窗口可以通过设置precreatewindow函数设置窗口属性,从而去掉标题栏上的最大化和最小化按钮,但保留关闭按钮。但一旦将子窗口最大化后,其最大化和最小化按钮又出现了,(最大化按钮变成了restore按钮),虽然是灰的,但很难看,能否将其去掉!
...全文
1035
26
打赏
收藏
高手请问,如何去掉子窗口标题栏上的最大化和最小化按钮,但保留关闭按钮?
多文档界面,子窗口可以通过设置precreatewindow函数设置窗口属性,从而去掉标题栏上的最大化和最小化按钮,但保留关闭按钮。但一旦将子窗口最大化后,其最大化和最小化按钮又出现了,(最大化按钮变成了restore按钮),虽然是灰的,但很难看,能否将其去掉!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xialin168
2005-06-06
打赏
举报
回复
不可以用标题栏的颜色绘图履盖掉那两个按钮吗?
可以另辟蹊径想想别的办法,能解决问题才是好方法,
为什么就非得往死胡同里钻呢!
cooljjyy
2005-06-05
打赏
举报
回复
通过枚举所有子窗体,可以找到系统标题栏的局柄,然后通过Hook接管该控件的消息,自己处理重绘不要把最大化按钮画出来就可以了。一些换肤软件就是这样做的,这样甚至可以换其他已经编译好的软件的皮肤。这里有一个类似的例子你可以参考:
http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=1273
ljunfa
2005-06-05
打赏
举报
回复
vcmute(横秋),你说的方法很有效。但是我是多文档,当弹出其它子窗口时,其最大化,最小化按钮也被去掉了,但其它子窗口的按钮我是需要的,如何解决这个问题?
To xjtt2000(沧海一笑),你的方法试验过没有,我试了,但不行啊!
xjtt2000
2005-06-03
打赏
举报
回复
简单,你只要在
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~(LONG) FWS_ADDTOTITLE;
cs.style &=~WS_MINIMIZEBOX;
cs.style &=~WS_MAXIMIZEBOX;
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
return TRUE;
}
xjtuzhw
2005-06-03
打赏
举报
回复
把该非客户区做成透明的,或者利用一个dll在固定区域显示控件难道不可以吗
camelyi(C++打字员) ,不是所有程序都要用已有的框架来做吧
camelyi
2005-06-03
打赏
举报
回复
回复人: xjtuzhw(飞影-->飞到哪里是终点?) ( ) 信誉:99 2005-06-03 09:45:00 得分: 0
把最大化,最小化的位置做个控件覆盖掉
哈哈,啥控件可以创建到窗口的非客户区上去?????
xjtuzhw
2005-06-03
打赏
举报
回复
把最大化,最小化的位置做个控件覆盖掉
vcmute
2005-06-02
打赏
举报
回复
第一遍closebox还没有出来,只是mainframe的原窗口
我是搁在CChildFrame的OnSize中,并判断type是否为最大化(也会触发两次,一次是Visable)
ljunfa
2005-06-02
打赏
举报
回复
vcmute(横秋),看来你是这方面的高手,我这里不知何故,删第一遍还不行,要删第二遍!
casinosun
2005-06-01
打赏
举报
回复
use dialog
younggle
2005-06-01
打赏
举报
回复
窗口最大化以后,在重新设置一下窗口的属性。就像在 precreatewindow函数设置窗口属性一样,就可以了。
lsvine
2005-06-01
打赏
举报
回复
gz
vcmute
2005-06-01
打赏
举报
回复
因为SC_MINIMIZE是右对齐的,所以要给SC_CLOSE设置MFT_RIGHTJUSTIFY
CMenu* m = ((CMainFrame*)AfxGetMainWnd())->GetMenu();
if(m)
{
UINT n=m->GetMenuItemCount();
MENUITEMINFO s={0};
s.cbSize=sizeof(MENUITEMINFO);
s.fMask=MIIM_TYPE|MIIM_ID;
m->GetMenuItemInfo(n-1,&s,TRUE);
if(s.wID == SC_CLOSE)
{
s.fType|=MFT_RIGHTJUSTIFY;
SetMenuItemInfo(m->GetSafeHmenu(),n-1,TRUE,&s);
}
m->DeleteMenu (SC_RESTORE,MF_BYCOMMAND);
m->DeleteMenu (SC_MINIMIZE,MF_BYCOMMAND);
}
P.S.有点奇怪,为什么SetMenuItemInfo不属于CMenu类的成员函数,且不用BYPOS不行
vcmute
2005-06-01
打赏
举报
回复
去掉restore按钮用
AfxGetMainWnd()->GetMenu()->DeleteMenu (SC_RESTORE,MF_BYCOMMAND);
zengwujun
2005-05-31
打赏
举报
回复
不要发最大化的消息,直接让窗口的尺寸变化
ShiGang
2005-05-31
打赏
举报
回复
MDI子窗口好像不能設置為固定窗口,但可以通過GetSytemMenu,GetSubMenu,GetMenuItem和EnableMenu來將系統菜單的"最大化"和"最小化"給Disible掉.
ljunfa
2005-05-31
打赏
举报
回复
还有窗体高手吗?
我的程序一定要最大化的。如果重画窗体,如何可以截获重绘消息,使得系统不要再画按钮?(不要大小化,恢复按钮,但要关闭按钮)
ljunfa
2005-05-31
打赏
举报
回复
呼唤高手,难道这个问题真的没解吗?
xift_2008
2005-05-31
打赏
举报
回复
重画窗体还不如不让它最大化
fvan
2005-05-31
打赏
举报
回复
无法去掉最大化,最小化按钮,只能变灰。除非你自己重画窗体
加载更多回复(6)
VC++ 禁止窗体右上角最大、
最小化
等
按钮
内容索引:VC/C++源码,界面编程,
最大化
,
最小化
VC++ 禁止窗体右上角各
按钮
,禁止或启用
窗口
右上角的
最大化
、
最小化
和
关闭
按钮
,有意思吧,不过这个功能不怎么用唉,即使要用的话,也要再三考虑哦,这功能有时候会让人很不习惯哦。
Delphi开发技巧之-Forms
TMenuItem显示在右侧 不使用MDI制作
子
窗体 不使用
标题栏
移动窗体 不使用
标题栏
移动
窗口
两行hint 从XML文件动态创建菜单 从另外MDI
子
窗口
读数据 使控件具有阴影效果 使每个MDIChild填充整个主
窗口
区域 使用Enter键替代Tab键 使用动画效果
关闭
窗口
使用动画方式打开窗体 使用帮助文件 使用状态栏显示hint 使用系统图标 使窗体不能移动
关闭
一个MDI
子
窗体 创建一个能改变大小的无边界窗体 创建半透明窗体 创建圆角窗体 创建透明窗体 判断窗体是modal 制作动画应用程序图标 制作可移动不能改变大小的窗体 制作永远
最小化
窗口
制作透明
窗口
取和设置鼠标位置 取鼠标指针下面的活动TWinControl 启动时隐藏主
窗口
在 window xp 使用阴影效果 在TCombobox内显示多行文本 在TScrollBox上显示窗体 在你的程序中使用 Win XP 可视风格 在窗体上制造多边形洞 在窗体上挖洞 在窗体周围画彩色轮廓 定位messagebox 实现
窗口
的
最小化
动画效果 将InputQuery定位在窗体居中位置 怪异窗体 手动改变窗体比例 抓屏 拖拽时显示
窗口
内容 捕获主窗体WM_MOVE消息 改变Hint字体 改变Hint的显示时间 改变MessageDlg的
按钮
标题
最小化
控件
最小化
第二个
窗口
到任务栏 查找窗体注册类 格式化MessageDlg 检查PopUp菜单是否打开 检查控件是否被其它
窗口
遮掩 添加菜单项到系统菜单 渐变色填充窗体 特效
窗口
移动指针到当前具有焦点的控件 移除系统菜单项 自动
关闭
TCommonDialog 运行时改变MainForm 运行时移动控件 运行时移动
窗口
控件 选中或取消其它
窗口
的复选框 通过在
标题栏
上右击缩小
窗口
防止 Windows
最小化
窗体 防止控件重画 防止窗体改变大小和移动 隐藏
标题栏
隐藏窗体的
最大化
和
最小化
按钮
Windows游戏编程系列之4:DuiLib界面美化及游戏实战
Windows游戏编程系列之4:DuiLib界面美化及游戏实战本课程侧重于Windows开发的界面美化,使用XML格式进行界面设计。类似于HTML+CSS的开发,主要是前台界面美化,可以与MFC集成在一起。本课程的主要内容包括:DuiLib开发环境配置及第一个
窗口
、DuiLib的消息机制及
按钮
事件、DuiLib页面局部Layout、DuiLib实现
标题栏
的绘制、Tab选项卡控件DuiLib与MFC的结合、DuiLib模拟360安全卫士等。通过本课程的学习,读者可以比较方面地完成界面美化的工作,并且可以与后台的MFC代码解耦。
Visual C++ 程序开发范例宝典光盘源码 (第二版) 3/7
第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 树型提示
QT隐藏
窗口
标题栏
、
最大化
、
最小化
、
关闭
按钮
1. 隐藏
标题栏
: 隐藏
标题栏
后,
最大化
、
最小化
、
关闭
按钮
就相当于隐藏了。 main_gui_window w; w.setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint); w.show(); 或者在构造函数里设置 this->setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章