首页 > 编程语言 > 详细

MFC异形按钮类(更新中)

时间:2020-02-23 01:18:21      阅读:167      评论:0      收藏:0      [点我收藏+]

MFC异形按钮类

MFC的图形按钮(CBitmapButton)对有透明要求的按钮,实现起来比较吃力,由于某项目需要用到此类控件(异形按钮异形图标等),所以开始学着制作。

目前的异形按钮类初步定名为CImageButton(CBitmapButton通过内部四个CBitmap对象实现图形化的CButtonCImageButton通过内部四个CImage对象实现异形),异形图标暂未开始。

技术分享图片

不同链接选择

#ifndef _LIB
#ifdef _WIN64
#ifdef _DEBUG
#ifdef _UNICODE
#pragma comment(lib,"lib/ImageButtondu_x64.lib")
#else
#pragma comment(lib,"lib/ImageButtond_x64.lib")
#endif  // _UNICODE
#else
#ifdef _UNICODE
#pragma comment(lib,"lib/ImageButtonu_x64.lib")
#else
#pragma comment(lib,"lib/ImageButton_x64.lib")
#endif  // _UNICODE
#endif  // _DEBUG
#else
#ifdef _DEBUG
#ifdef _UNICODE
#pragma comment(lib,"lib/ImageButtondu.lib")
#else
#pragma comment(lib,"lib/ImageButtond.lib")
#endif  // _UNICODE
#else
#ifdef _UNICODE
#pragma comment(lib,"lib/ImageButtonu.lib")
#else
#pragma comment(lib,"lib/ImageButton.lib")
#endif  // _UNICODE
#endif  // _DEBUG
#endif  // _WIN64
#endif  // ImageButton_EXPORTS

四种按钮状态

CImage m_bnImageU;
CImage m_bnImageD;
CImage m_bnImageF;
CImage m_bnImageX;

三类加载图像方式(资源/文件/图像)

    void LoadImagesFromFile(LPCTSTR pszFileName, int nImageNum = 4, BYTE cAlphaThreshold = 1);
    void LoadImagesFromResource(LPCTSTR pszResourceName, int nImageNum = 4, BYTE cAlphaThreshold = 1, LPCTSTR lpImageResType = TEXT("PNG"));
    void LoadImagesFromResource(UINT nReourceID, int nImageNum = 4, BYTE cAlphaThreshold = 1, LPCTSTR lpImageResType = TEXT("PNG"));
    void ApplyImages(const CImage& wholeImage, int nImageNum = 4, BYTE cAlphaThreshold = 1);

MFC异形按钮类(更新中)

原文:https://www.cnblogs.com/that-boy/p/12348155.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!