我整理的MFC界面美化

2018-12-17 15:23

一,对话框背景为一幅位图

1. 插入位图

打开VC6.0MFC程序,右击“Dialog”,打开“引入”,选择图片就可以引入一个位图了。

2. 打开“ClassView”,再打开“CAbouttDlg()”函数,找到void CTuxingDlg::OnPaint()函数,

粘贴上

CPaintDC dc(this); CRect rect;

GetClientRect(&rect); CDC dcMem;

dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground;

bmpBackground.LoadBitmap(IDB_BITMAP1);

//IDB_BITMAP1是你自己的图对应的ID BITMAP bitmap;

bmpBackground.GetBitmap(&bitmap);

CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,

bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);

二.在对话框上显示一幅位图

法一: 把图片引入工程,其句柄名为IDB_BITMAP2;然后放一个静态控件或者图片控件

到对话框上,将其句柄名设为IDC_SHOWBMP; 具体代码为在需要使用的地方(如按钮函数或OnInitDialog()或OnPaint()里等等)加入如下代码:

CStatic *p =(CStatic *)GetDlgItem(IDC_SHOWBMP);

HBITMAP hBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_BITMAP2)); p->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE); p->SetBitmap(hBitmap);

详解:

CStatic *p =(CStatic *)GetDlgItem(IDC_SHOWBMP); //获得指向

IDC_SHOWBMP的指针,并将其强制转换为CStatic*类型,并赋值给p

HBITMAP hBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_BITMAP2));

//从工程资源处获得IDB_BITMAP2的位图句柄,并将其赋值给hBitmap变量

p->Modifystyle(0xF,SS_BITMAP|SS_CENTERIMAGE); //设置该静态控件(p指向的静态控件),使其用于显示位图,并且是在控件中央显示 //(若无此步无法显示,因为没有说明静态对话框要显示的类型是什么)

p->SetBitmap(hBitmap); //将需要显示的位图设置为bBitmap,即资源IDB_BITMAP1的句柄

法二: 通过位图所在路径显示位图(此方法无需事先将位图文件添加为该工程的资源)

在对话框上放一个静态控件(一定是静态控件,若图片控件则无法显示) 将其重命名为IDC_BMP(不重命名的话无法添加变量),然后再为该控件添加一个变量,命名为m_image. 在需要使用的地方(如按钮函数或OnInitDialog()或OnPaint()里等等)加入如下代码: this->m_image.ModifyStyle(0,SS_BITMAP |SS_CENTERIMAGE);

HBITMAP hBmp = (HBITMAP)::LoadImage(0, \LR_LOADFROMFILE);

this->m_image.SetBitmap(hBmp); 详解:

this->m_image.ModifyStyle(0,SS_BITMAP |SS_CENTERIMAGE);

//和上面的作用一样,将该静态控件设置为是用来显示位图的,只不过这里是通过该静态对话框的变量来进行

/ /modifystyle操作的

HBITMAP hBmp = (HBITMAP)::LoadImage(0, \

IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); //从bmp文件所在的路径直接读取该bmp图象的句柄,并将其转换为HBITMAP类型

//注:其中的\是相对路径,即在和可执行文件的同一目录下有一个名为path的文件夹,里面有一个名为1.bmp的位图文件.

this->m_image.SetBitmap(hBmp); //通过变量m_image来设置该静态框所显示的位图文件.

三.列表控件的背景

在BOOL CTuxingDlg::OnInitDialog()函数中添加以下代码 m_List.SetBkColor(RGB(444, 233, 255)); //三个参数可以任意改变,下同 m_List.SetTextBkColor(RGB(444, 233, 255));

四.设置列表控件属性带有表格线

在BOOL CTuxingDlg::OnInitDialog()函数中添加以下代码 DWORD NewStyle = m_List.GetExtendedStyle();

NewStyle |= LVS_EX_GRIDLINES; m_List.SetExtendedStyle(NewStyle);

五.改变全部界面的背景颜色

点击 “Globals”,再打开“theApp”,CPersonalFinancialManagementSystemApp::InitInstance()函数中添加 SetDialogBkColor(RGB(444, 233, 255), RGB(0, 0, 0));

Bool


我整理的MFC界面美化.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014年宁夏教师招聘考试公共基础知识资料精选题目二

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: