【MFC串口】对话框界面的美化——基于SkinMagic

前言:

        在写完MFC窗口界面后,一般看着都比较粗糙,这里采用SkinMagic来进行美化。SkinMagic 好用的第三方界面库,通过加载皮肤的方式来美化MFC界面。如果对现有皮肤不满意,还可以通过SkinMagicBuilder重新编辑皮肤。

一、下载SkinMagic资源库,添加资源库:

1、下载链接:

https://download.csdn.net/download/wjy27/88373951icon-default.png?t=N7T8https://download.csdn.net/download/wjy27/88373951

2、往项目中添加SkinMagic文件

        复制 SkinMagicTrial.dll、SkinMagicTrial.lib、SkinMagicLib.h 以及皮肤文件 *.smf文件到工程目录下:

           在xxxxDlg.cpp头文件中添加: 

#include "SkinMagicLib.h"
#pragma comment(lib,"SkinMagicTrial.lib")

3、在 InitInstance() 函数下添加:
BOOL CMcomApp::InitInstance()
{
	......
	AfxEnableControlContainer();

	//读取皮肤文件路径
	CStdioFile myFile;
	CString Directory;
	char CurrentDirectory[MAX_PATH];
	int ret = GetCurrentDirectory(MAX_PATH, CurrentDirectory);
    Directory.Format(_T("%s"), CurrentDirectory);
    Directory = Directory + _T("\\xpsteel.smf");
	
	//初始化SkinMagic
	VERIFY(1 == InitSkinMagicLib(AfxGetInstanceHandle(), _T("SCRIBBLE"), NULL, NULL));	
	VERIFY(1 == LoadSkinFile(Directory));// 加载皮肤更换界面
    ......
	return FALSE;
}
4、在对话框初始化函数OnInitDialog()上添加:
BOOL CMcomDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();
	......
	// TODO: 在此添加额外的初始化代码SelectObject
	SetWindowSkin(m_hWnd, _T("MainFrame"));  //这是重点,m_hWnd 是你的主对话框的窗口句柄
	SetDialogSkin(_T("Dialog"));  //是为了给你以后的对话框添加皮肤的!
    ......
}

        SetWindowSkin(m_hWnd, _T("MainFrame"))和SetDialogSkin(_T("Dialog"))的“Dialog”、“MainFrame”调用的是.smf文件里的“Dialog”、“MainFrame”参数,因为设置的参数有所不同,所以调用后界面效果就不一样。 

5、释放皮肤
        在 ExitInstance() 函数中加入ExitSkinMagicLib(),释放SkinMagic资源。

二、利用SkinMagicBuilder修改皮肤文件:

        在使用给定的皮肤中会遇到一些问题,例如用我遇到的控件背景不透明,List Control控件不显示滚动条等。

        用SkinMagicBuilder打开对应的.smf文件,然后修改对应的参数就可以实现想要的功能。

         如果美化后控件出现异常,如:项目中美化后List Control不提供滚动条功能,所以在SkinMagicBuilder打开对应的.smf文件,将列表ListCtrl和ListBox项删除,使其不对List控件做美化处理,即可恢复。 

        最后,通过SkinMagic美化MFC界面,确实比原先的MFC界面要美观好多,使用起来也简单、方便。如果再会使用SkinMagicBuilder对原有的皮肤进行更改,为自己的MFC界面量身定做,这样出来的界面就更好了。 

  

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
MFC(Microsoft Foundation Class)是微软基于Windows操作系统开发的一套可视化程序设计的类库,其中对话框MFC中常用的界面元素之一。想要对MFC对话框进行美化,可以采取以下几个方法。 首先,可以使用MFC自带的控件及样式来美化对话框MFC提供了丰富的控件,如按钮、列表框、组合框等,可根据需求选择合适的控件,并设置其颜色、字体等属性,使界面更加美观。同时,还可以通过MFC提供的样式选择对话框的风格,如更改对话框的背景色,添加背景图片等。 其次,可以使用图形库来美化对话框。可以引入第三方图形库,如GDI+等,利用其强大的图形处理能力来实现更丰富的界面效果。通过绘制图形、实现渐变色等操作,可以使对话框更加生动、有趣。 另外,可以使用自定义控件来美化对话框MFC允许开发者自定义控件,可以根据需求编写自己的控件,并在对话框中使用。这样可以实现更加个性化、独特的界面效果,提升用户体验。 最后,可以使用第三方界面库来美化对话框。市面上有许多成熟的界面库,如DuiLib、BCGControlBar等,这些库提供了丰富的界面控件和样式,可以直接使用它们提供的控件来进行界面美化,节省开发时间和精力。 综上所述,通过使用MFC自带的控件及样式、引入图形库、自定义控件、使用第三方界面库等方法,可以对MFC对话框进行美化,提升应用程序的界面效果和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

༄༣ི为照࿂ྀ࿐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值