MFC作为一项古老的桌面应用程序UI框架,也出过很多优秀的产品,做的界面也还可以,但是作为经验不足的开发者,可能就会比较麻烦,例如给按钮加个图标,该如何实现呢?下面开始介绍如何给按钮加图标。
例如我们做个登录按钮,首先,你得画一个和控件大小相同的icon图(自己绘制,或者找专业的美工),如下所示,
(1)将该图放到res目录,在程序ICON资源中导入改图,
(2) 把按钮的Icon属性设为true, 不然给按钮添加的图标无法显示,如下:
(3)添加代码:在OnInitDialog()中添加如下代码即可
CRect rect;
m_btnLogin.GetWindowRect(rect);
long width = rect.right - rect.left;
long height = rect.bottom - rect.top;
HICON hicon_btn = (HICON)LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_LOGIN), IMAGE_ICON, width - 2 , height - 2, LR_DEFAULTCOLOR | LR_CREATEDIBSECTION);
m_btnLogin.SetIcon(hicon_btn);
注意:用 AfxGetApp()->LoadIcon(IDI_LOGIN) 获取图片句柄时,icon图标在按钮下显示很小。使用LoadImage 设置图标的宽,高就会正常显示大小。
我的效果如下: