MFC界面美化

排列整齐

基于MFC编写GUI代码时,界面美化最基本的部分就是排列整齐,如果是用Visual Studio 2015 IDE 开发,那就十分方便了,在快捷功能框即有相关按钮,这和Qt的控件调整有些类似,可以有效减少我们在布局上耗费的时间:

图标按钮

一般来说,默认的按钮只能支持按钮上的文字修改:

但是可以通过以下操作来制作显示为Bmp图标的按钮,从而美化按钮界面:   

  1. 准备好 BMP图标文件,以16*16像素,24位真彩色格式文件为例。
  2. 在工程导入图标文件。
  3. 新建按钮,修改按钮属性:Owner Draw ->True。
  4. 为按钮控件新建“CBitmapButton”型成员变量:m_bmpButton(需要手动添加):

   (1)在头文件中添加语句:CBitmapButton m_bmpButton;

  (2)在源文件找中添加语句:DDX_Control(pDX, IDC_BUTTON2, m_bmpButton); 

    5. 在初始化函数中添加下列语句,可以运行程序,发现按钮已被替换为图标,后面可以像往常一样添加按钮函数:

m_bmpButton.LoadBitmaps(IDB_BITMAP1);   //载入  
m_bmpButton.SizeToContent();  //使按钮适应图片大小 

MFC界面美化_第1张图片

Menu菜单栏

1 在资源视图,新建Menu;

2 在初始化函数中添加下列语句:

CMenu menu;
menu.LoadMenuW(IDR_MENU1);
SetMenu(&menu);

3 运行程序

存在的问题:第一级菜单栏无法添加事件,只有第二级菜单及以后才能添加事件。

MFC界面美化_第2张图片

 ToolBar工具栏

1 在资源视图,新建Toolbar,简单设计不同按钮的logo:

MFC界面美化_第3张图片

2 在主窗口添加WM_CREATE消息:

MFC界面美化_第4张图片

3 在主窗口的头文件加入语句:CToolBar m_ToolBar; 

4  在主窗口的源文件OnCreate()或OnInitDialog()函数添加以下代码:

m_ToolBar.Create(AfxGetMainWnd());
m_ToolBar.LoadToolBar(IDR_TOOLBAR1);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

4 运行效果:

 

你可能感兴趣的:(C/C++)