MFC 边框绘制问题

Magina3 2010-11-11 10:47:31
看了很多关于MFC边框绘制的文章,也下载了不少实例,始终没有找到符合自己心意。参照网上的例子改写程序,仍然有个问题不能得到完美解决。那是系统菜单的问题。有些程序把系统菜单去掉了,然后自己画,可是在调用ShowWindow(SW_SHOWMAXIMIZED)最大化的时候,却全屏显示,这显然不能接受;可要是不去掉系统菜单,系统自带的最大化,最小画,关闭等按钮又会在各种偶然下显示出来,这显然跟不能接受。实在没办法,请高手指点一下,怎么才能做到像360浏览器,KUGO等软件自然正常,同时也希望跟各位有相同问题的同志一起研究和分享。
...全文
304 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Magina3 2010-11-12
  • 打赏
  • 举报
回复
这总是经过自己努力解决不了才来问的,我觉得像google一下,百度一下这种回答就没必要了,我连搜狗的用过了,不过像tiger9991这样给出关键词的另当别论。最后对大家的关心表示感谢。
Magina3 2010-11-11
  • 打赏
  • 举报
回复
跪求一高手指点
Magina3 2010-11-11
  • 打赏
  • 举报
回复
如果去掉标题栏,不仅最大化的问题不好解决,而且在windows的任务栏里将只看到程序图标,原本显示软件标题的地方会变成空白,那怎么行
向立天 2010-11-11
  • 打赏
  • 举报
回复
为什么要通过movewindow实现?
这样岂不是可以在最大化的状态下移动窗口了
stjay 2010-11-11
  • 打赏
  • 举报
回复
在客户区自绘
向立天 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xianglitian 的回复:]
为什么要通过movewindow实现?
这样岂不是可以在最大化的状态下移动窗口了
[/Quote]
发串了
tigerMayDo 2010-11-11
  • 打赏
  • 举报
回复
光棍节快乐
tigerMayDo 2010-11-11
  • 打赏
  • 举报
回复
光棍节快乐
向立天 2010-11-11
  • 打赏
  • 举报
回复
为什么要通过movewindow实现?
这样岂不是可以在最大化的状态下移动窗口了
Abcix 2010-11-11
  • 打赏
  • 举报
回复
光棍节快乐
Micky米 2010-11-11
  • 打赏
  • 举报
回复
光棍节回复有奖!进来参与一下!
Magina3 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sendwb 的回复:]
你如果要做到像360,KUGO那样自然正常,首先可以确定的是,你自己肯定需要做很多工作。首先去掉系统菜单是肯定的。也就是界面上所有元素都需要自己写代码绘制,才能达到随心所欲的境界。注意,我这里提到了绘制,因为windows所有我们可以看得见的元素(窗体,按钮,文本框。。。。。)全是绘出来的,既然要自己绘制,不会系统那一套,你就必需自己做相应的操作,如,要绘制的坐标,大小,形状,是否可以编辑。你说在……
[/Quote]
既然不打算用皮肤,当然是准备自己绘制,可是就是不知道怎么入手,虽然我在最大化的时候调用movewindow改变了窗口大小,也不能达到理想的效果。希望你能给些更进一步的指点。
向立天 2010-11-11
  • 打赏
  • 举报
回复
360我没用过
你用spy++看看360有没有标题栏?
你说的问题确实是存在
系统其实没有完全移交非客户去的控制绘制全
所以在一些情况下(比如程序宕掉)系统标题栏就会出现
QQ音乐就经常出现这样的问题
这个应该是无法避免的了
有些时候不能强求
sendwb 2010-11-11
  • 打赏
  • 举报
回复
你如果要做到像360,KUGO那样自然正常,首先可以确定的是,你自己肯定需要做很多工作。首先去掉系统菜单是肯定的。也就是界面上所有元素都需要自己写代码绘制,才能达到随心所欲的境界。注意,我这里提到了绘制,因为windows所有我们可以看得见的元素(窗体,按钮,文本框。。。。。)全是绘出来的,既然要自己绘制,不会系统那一套,你就必需自己做相应的操作,如,要绘制的坐标,大小,形状,是否可以编辑。你说在调Showwindow时,全屏显示了,很显然,你在这里并没有自己写绘制代码,仍然使用的系统绘制方法,当然,你自己没有对其进行控制,默认最大化显示也是必然的,想要随心所欲的显示位置和形状,那么绘制的时候就必须由自己来实现这一块的绘制。
傻X 2010-11-11
  • 打赏
  • 举报
回复
上次在VCBASE里面看到2篇这种文章..建议楼主去那里搜索下
田暗星 2010-11-11
  • 打赏
  • 举报
回复
Google找自绘窗体或标题栏等 我记得有说如何在系统标题栏上覆盖按钮的
Magina3 2010-11-11
  • 打赏
  • 举报
回复
或者给个实例也行啊

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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