码迷,mamicode.com
首页 > 编程语言 > 详细

MFC 学习之 界面美化<2>

时间:2014-12-04 12:21:25      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:界面   mfc   

1、更改图标

将ICON图标复制到资源文件中,载入工程,设置ID。

在对话框构造函数中,修改ICON的ID。

//ICON

CMFC_FRAMEDlg::CMFC_FRAMEDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMFC_FRAMEDlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDI_MAINFRAME);  //修改成新的图标ID
}

bubuko.com,布布扣

2、直接换肤

SkinShape工具的SkinH.dll  SkinH.;ib  SkinH.she  SkinH.h 均拷贝到工程目录下。

stdafx.h 中添加

<span style="color:#ff0000;">#include "SkinH.h"
#pragma comment(lib, "SkinH.lib")</span>

对话框调用之前添加
<span style="color:#ff0000;"> SkinH_Attach();  </span> 

CMFC_FRAMEDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();

bubuko.com,布布扣

3、更改背景

先载入一张图片,图片ID设置为IDB_BITMAP1;

头文件中添加定义:

<pre name="code" class="cpp">public:
    CBrush m_brBk;
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);


CPP文件中添加:

BOOL CTestDlg::OnInitDialog()
{
    <span style="color:#ff0000;">CDialog::OnInitDialog();
    CBitmap bmp;
    bmp.LoadBitmap(IDB_BITMAP1);
    m_brBk.CreatePatternBrush(&bmp);
    bmp.DeleteObject();</span>

    return TRUE;       // return TRUE unless you set the focus to a control
}

添加消息映射

BEGIN_MESSAGE_MAP(CMFC_FRAMEDlg, CDialog)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	<span style="color:#ff0000;">ON_WM_CTLCOLOR()</span>
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

函数实现如下:

HBRUSH CMFC_FRAMEDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if (pWnd == this)
    {
         return m_brBk;
    }
    return hbr;
}

bubuko.com,布布扣









MFC 学习之 界面美化<2>

标签:界面   mfc   

原文地址:http://blog.csdn.net/u010477528/article/details/41719843

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!