![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
Guo_Ruin
技术小白
展开
-
【MFC自绘窗口】 窗口设计第一课
现在市面上的软件做的越来越花哨,界面也越来越友好,像QQ,360,酷我音乐,迅雷等软件做的相当的到位,当然,这些软件都是人家公司开发的界面库,基本采用都是DriectUI原理设计,咱这里不过多讲解,等着我会抽出几节去讲解DriectUI设计,其次,现在市面上也有很多公司或者个人开发的界面库,比如UIPower,SkinSE,SkinSharp,DuiLib等等,有的是商用,有的是开源的,比如Dui转载 2014-12-07 23:47:46 · 2897 阅读 · 1 评论 -
【MFC自绘窗口】窗口设计第二课
开始重绘标题栏,首先先添加消息映射,在属性面板中找到WM_NCPAINT,好,添加在刚生成的OnNcPaint函数中,我们就可以处理非客户区了首先,我们先说一下CDC,CPaintDC,CClientDC,CWindowDC区别,先看一下他们之间的关系CObjectpublic |——CDCpublic |——|——CClientDC转载 2014-12-07 23:51:05 · 2150 阅读 · 0 评论 -
【MFC自绘窗口】窗口设计第五课
今天说一下窗口的半透明设置,很多软件应用都有这个功能,比如QQ,迅雷等等,这种效果怎么做的呢,其实很简单主要API,SetLayeredWindowAttributes看一下函数原型BOOL SetLayeredWindowAttributes(HWND hwnd,COLORREF crKey,BYTE bAlpha,DWORD dwFlags);转载 2014-12-07 23:59:09 · 944 阅读 · 0 评论 -
【MFC自绘窗口】窗口设计第四课
继续上一节的教程,上一节我们重绘了无边框,无标题栏的对话框,效果基本上和前两节讲的WS_OVERLAPPEDWINDOW类型窗口一样,不过其中有一个点疏忽了, 今天咱们补上,之前我也说过,此种对话框美中不足的就是派生类每次都要计算客户区的位置,这里咱们就通过中转的方式去解决这个问题。首先,我们添加一个客户区的绘制函数12转载 2014-12-07 23:57:50 · 1043 阅读 · 0 评论 -
【MFC自绘窗口】窗口设计第三课
前面我们讲述了重绘窗口的一般方法,但是这种方法有很多的局限性,比如,像360杀毒,QQ这种支持背景图片样式的,由于非客户区的原因,操作起来就会很麻烦,这次,我在讲述另外一种重绘窗口的方法,通过这种方法可以定制出和QQ,360杀毒等这一类软件一样的界面。原理也很简单,就是去除窗口的非客户区,实现无边框,无标题栏的窗口,然后自己去模拟窗口的非客户区和客户区,这种方法的不好之处正是他要自己去计算客户区的转载 2014-12-07 23:55:01 · 1391 阅读 · 0 评论