本文主要是介绍MFC---重绘按钮,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#ifndef _VANCBUTTON_MFC_H_
#define _VANCBUTTON_MFC_H_
#include "VUIControl.h"
/**************************************************************/
//作者:Vansix
//功能:重载CButton
//版本:1.0
//修订:2016.05.08
//其他:
/**************************************************************/
class VUICONTROL_API CVanButton : public CButton
{
DECLARE_DYNAMIC(CVanButton)
public:
CVanButton();
virtual ~CVanButton();
public:
/**************************************************************
**功能:DoDataExchange
**输入参数:CDataExchange,控件ID,需要绑定的实例化类;
**输出参数:
**************************************************************/
void SetDDX_Control(CDataExchange* pDX, int nIDC, CWnd& rControl);
/**************************************************************
**功能:设置显示文本数据
**输入参数:数据;
**输出参数:
**************************************************************/
void SetText(CString str);
/**************************************************************
**功能:设置显示文本颜色
**输入参数:RGB;
**输出参数:
**************************************************************/
void SetForeColor(COLORREF color);
/**************************************************************
**功能:设置显示文本背景颜色
**输入参数:RGB;
**输出参数:
**************************************************************/
void SetBkColor(COLORREF color = RGB(38, 168, 226));
/**************************************************************
**功能:设置显示文本字体
**输入参数:字体大小,字体名称;
**输出参数:
/**************************************************************/
void SetTextFont(int FontHight, LPCTSTR FontName); //设置字体
void SetIcon(int nIconInId, int nIconOutId = NULL);
void SetIcon(HICON hIconIn, HICON hIconOut = NULL);
private:
void DrawButton(CDC *pDC);
virtual void PreSubclassWindow();
virtual void DrawItem(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
void FreeResources(BOOL bCheckForNULL = TRUE);
void DrawTheIcon(CDC* pDC, BOOL bHasTitle, RECT* rpItem, CRect* rpTitle, BOOL bIsPressed, BOOL bIsDisabled);
void PrepareImageRect(BOOL bHasTitle, RECT* rpItem, CRect* rpTitle, BOOL bIsPressed, DWORD dwWidth, DWORD dwHeight, CRect* rpImage);
private:
int m_Style;
BOOL b_InRect;
CString m_strText;
COLORREF m_ForeColor;
COLORREF m_Back
这篇关于MFC---重绘按钮的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!