对于对话框,只需要重载默认的消息处理函数就行了:

// 重载默认的消息处理函数,主要处理WM_MOVE WM_PAINT WM_NCPAINT WM_NCACTIVATE WM_NOTIFY这// 几个消息就可以了

LRESULT CMyDialog::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
LRESULT lrst=CDialog::DefWindowProc(message, wParam, lParam); if (!::IsWindow(m_hWnd))
return lrst; if (message==WM_MOVE||message==WM_PAINT||message==WM_NCPAINT||message==WM_NCACTIVATE ||message == WM_NOTIFY)
{
CDC* pWinDC = GetWindowDC();
if (pWinDC)
DrawBorder(pWinDC);
ReleaseDC(pWinDC);
}
return lrst; //return CDialog::DefWindowProc(message, wParam, lParam);
}
// 重画边框的具体代码
void CMyDialog::DrawBorder(CDC *pDC)
{
if (m_hWnd )
{
CBrush Brush(RGB(, , ));
CBrush* pOldBrush = pDC->SelectObject(&Brush); CRect rtWnd;
GetWindowRect(&rtWnd); CPoint point;
//填充顶部框架
point.x = rtWnd.Width();
point.y = GetSystemMetrics(SM_CYFRAME)+;
pDC->PatBlt(, , point.x, point.y, PATCOPY);
//填充左侧框架
point.x = GetSystemMetrics(SM_CXFRAME);
point.y = rtWnd.Height();
pDC->PatBlt(, , point.x, point.y, PATCOPY);
//填充底部框架
point.x = rtWnd.Width();
point.y = GetSystemMetrics(SM_CYFRAME) + ;
pDC->PatBlt(, rtWnd.Height()-point.y, point.x, point.y, PATCOPY);
//填充右侧框架
point.x = GetSystemMetrics(SM_CXFRAME);
point.y = rtWnd.Height();
pDC->PatBlt(rtWnd.Width()-point.x, , point.x, point.y, PATCOPY);
}
}

以上代码虽然是针对对话框的,不过,对于一般的窗口,稍微修改一下,估计也是可以的。
如果出現对话框的边框颜色没有修改,可以用:

InvalidateRect(NULL); // 在边框改变的对话框中

或者如果有父窗口,在父窗口中调用:

RedrawWindow(NULL, NULL, RDW_FRAME | RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW | RDW_ALLCHILDREN );

这样应该就差不多了。

---------------------------------------------------------------------------------------------------------------------

以下为修改对话框背景颜色方法:

重载OnPaint(),即WM_PAINT消息。有关代码如下(以上例工程为准):

void   CExampleDlgDlg::OnPaint()
{
if (IsIconic())

else
{
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(,,)); //设置为绿色背景
CDialog::OnPaint();
}

或者在OnInitDialog函数中调用

SetBackgroundColor(RGB(,,));

MFC设置对话框背景和边框颜色的更多相关文章

  1. HTML快速入门5——不规则表格、表格背景、边框颜色

    转自:http://blog.csdn.net/ysuncn/article/details/2214153 不规则表格 例子: <table border=1><tr>< ...

  2. MFC设置对话框大小

    设置对话框大小不可改变 1.在类的头文件中加入函数申明 (.h文件) afx_msg void OnGetMinMaxInfo(MINMAXINFO *lpMMI); 2.在消息映射中添加 (.cpp ...

  3. VS2010/MFC设置对话框控件的Tab顺序

    设置对话框控件的Tab顺序 前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法 ...

  4. MFC改变对话框背景颜色

    原文链接: http://blog.sina.com.cn/s/blog_59955afc0100spjz.html 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. - ...

  5. VS中基于对话框的MFC利用换肤改变边框颜色及格式

    第一版本: http://ishare.iask.sina.com.cn/f/13836420.html?from=like 2. http://www.cnblogs.com/phinecos/ar ...

  6. MFC设置对话框透明背景

    在对话框初始化函数OnInitDialog函数中添加如下代码: SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(), ...

  7. MFC 设置窗口背景图片

    //在Onpaint函数中加入如下代码 //----------给窗口设置背景图片---------------------------- CPaintDC dc(this); CRect myrec ...

  8. android radiogroup样式(设置切换背景与文字颜色)

    main.xml <RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_cont ...

  9. Qt 设置对话框背景(使用调色板,设置它的画刷,画刷可以是图片)

    http://blog.csdn.net/ei__nino/article/details/7305234

随机推荐

  1. 标准对象 -------JavaScript

    本文摘要:http://www.liaoxuefeng.com/ 在JavaScript的世界里,一切都是对象. 但是某些对象还是和其他对象不太一样.为了区分对象的类型,我们用typeof操作符获取对 ...

  2. css3媒体查询中device-width和width的区别

    1.device-width 定义:定义输出设备的屏幕可见宽度. 不管你的网页是在safari打开还是嵌在某个webview中,device-width都只跟你的设备有关,如果是同一个设备,那么他的值 ...

  3. Spring Framework(框架)整体架构 变迁

    Spring Framework(框架)整体架构 2018年04月24日 11:16:41 阅读数:1444 标签: Spring框架架构 更多 个人分类: Spring框架   版权声明:本文为博主 ...

  4. 【Python学习之八】ORM

    ORM 什么是ORM呢? ORM全称是:Object-Relational Mapping.即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表.这样,写代码更简单,不用直接 ...

  5. 汇编 if else 例子

    .text .global  _start _start: mov r1,#1 mov r2,#2 cmp r1, r2 bgt  branch1 add  r3,r1,r2 b  end branc ...

  6. python笔记-list列表的方法

    #!usr/bin/python # -*- coding: utf-8 -*- # 存储5个人的年龄,求他们的平均年龄 age1 = 18 age2 = 15 age3 = 38 age4 = 20 ...

  7. 第二章JavaScript 函数和对象

    1 JavaScript 函数 1.1 声明函数的方式 function 关键字 匿名函数方式(表达式方式) Function 构造函数方式 1.2 参数问题 形参和实参数量问题 可选形参(参数默认值 ...

  8. 【JavaScript】修改图片src属性切换图片

    今天做项目时其中一个环节需要用到js修改图片src属性切换图片,现在来记录一下 以下是示例: html <img src="/before.jpg" id="img ...

  9. 绘制字符串:imagestring()

    <?php //1. 绘制图像资源(创建一个画布) $image = imagecreatetruecolor(500, 300); //2. 先分配一个绿色 $green = imagecol ...

  10. ecshop里操作session与cookie

    目录 操作session 操作cookie html模板里提交保存用用户名 php里 js里保存cookie js里读取cookie html模板里smart的保留变量 html模板里取session ...