通过本文主要向大家介绍了vc++mfc编程实例,vc++实例,vc++串口通信实例,vc++程序实例,vc++编程实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
本文以实例形式讲解了VC++中HTControl控件类的CHTButton按钮控件类用法,相信对大家更好的理解VC++有一定的帮助。具体内容如下:
一般了解VC++的朋友都知道,VC++ 按钮控件CHTButton隶属HTControl控件组,直接由WIN32 API实现,你可以在SDK,MFC,wxWidget等环境下使用它。支持生成各种类型的按钮,比如:普通按钮,PNG透明按钮,复选框按钮,单选按钮等。使用时请注意,窗体必须动态创建,代码段如下:
m_HTBtnClose.Create(758, 0, 39, 20, m_hWnd, iChildId++); m_HTBtnClose.SetAllBitmap(m_hBmpBtnCloseNormal, m_hBmpBtnCloseDown,m_hBmpBtnCloseHover); m_HTBtnClose.SetParentBgMemDC(m_hdcMemBuf);</div>
CHTButton.h控件核心代码及注释说明如下:
/***************************************************************** | Copyright (c) 2012, ******************************************************************/ #if !defined(__CHTBUTTON_H__) #define __CHTBUTTON_H__ #include "CHTTip.h" class CMyButton; class AFX_CLASS_EXPORT CHTButton { public: CHTButton(); ~CHTButton(); /**************************************************************************** | 函数功能:创建按钮 | | 输入参数: | | x: 窗体位置x坐标(相对于父窗体) | | y: 窗体位置y坐标(相对于父窗体) | | iWidth: 窗体宽 | | iHeight: 窗体高 | | hParent: 父窗口句柄 | | hBtnId: 窗体ID | | szLabel: 窗体标题 | | dwStyle: 按钮行为标识 | | BS_CHECKBOX :复选框按钮 | | BS_RADIOBUTTON :单选按钮 | | BS_NOTIFY:发送得到(BN_SETFOCUS)失去(BN_KILLFOCUS)焦点的通知 | | BS_NOTIFY << 2: 发送按下通知(BN_KILLFOCUS + 2) | | 输出参数:无 | | 返回值: 成功:窗口句柄 失败: NULL | | 说明: | ****************************************************************************/ HWND Create(int x, int y, int iWidth, int iHeight, HWND hParent, int iBtnId, TCHAR* szLabel = NULL, DWORD dwStyle = NULL); /**************************************************************************** | 函数功能:改变窗口位置大小 | | 输入参数: | | iWidth: 窗体宽 -1表示宽不变 | | iHeight: 窗体高 -1表示高不变 | | x: 窗体位置x坐标 | | y: 窗体位置y坐标 | | bRepaint: 改变后是否重绘窗口 | | 输出参数:无 | | 返回值: 无 | | 说 明:如果改变了窗口大小,在MoveWindow之前需要重新设置各种位图 | ****************************************************************************/ void MoveWindow(int x, int y, int iWidth = -1, int iHeight = -1, BOOL bRepaint = TRUE); /**************************************************************************** | 函数功能:设置提示窗口类指针 | | 输入参数: | | pclTip: 提示窗口类指针 | | 输出参数:无 | | 返回值: 无 | | 说 明: | ****************************************************************************/ void SetToolTip(CHTTip* pclTip); /**************************************************************************** | 函数功能:设置提示窗口的文本 | | 输入参数: | | szTipText: 提示文本 | | 输出参数:无 | | 返回值: 无 | | 说 明: | ****************************************************************************/ void SetTipText(TCHAR* szTipText); /**************************************************************************** | 函数功能:获取窗口的句柄 | | 输入参数:无 | | 输出参数:无 | | 返回值: 窗体句柄 | | 说 明: | ****************************************************************************/ HWND GetHandle(); /**************************************************************************** | 函数功能:获取父窗口的句柄 | | 输入参数:无 | | 输出参数:无 | | 返回值: 父窗体句柄 | | 说 明: | ****************************************************************************/ HWND GetParent(); /**************************************************************************** | 函数功能:设置字体 | | 输入参数: | | hFont: 字体 | | 输出参数:无 | | 返回值: 无 | | 说 明: | ****************************************************************************/ void SetFont(HFONT hFont); /**************************************************************************** | 函数功能:设置文字的颜色 | | 输入参数: | | CRText: 颜色值 | | 输出参数:无 | | 返回值: 无 | | 说 明: | ****************************************************************************/ void SetBtnTextColor(COLORREF CRText); /**************************************************************************** | 函数功能:设置字体(鼠标停留窗体上时) | | 输入参数: | | hFont: 字体 | | 输出参数:无 | | 返回值: 无 | | 说 明:如未设置则采用SetFont设置的字体 | ****************************************************************************/ void SetHoverFont(HFONT hFont); /**************************************************************************** | 函数功能:设置文字的颜色(鼠标停留窗体上时) | | 输入参数: | | CRText: 颜色值 | | 输出参数:无 | | 返回值: 无 | | 说 明:如未设置则采用SetBtnTextColor设置的颜色 | ****************************************************************************/ void SetHoverBtnTextColor(COLORREF CRText); /**************************************************************************** | 函数功能:使窗口无效并绘制窗口 | | 输入参数:无 | | 输出参数:无 | | 返回值: 无 | | 说 明: | ****************************************************************************/ void Disable(); /**************************************************************************** | 函数功能:使窗口有效并按常态绘制窗口 | | 输入参数:无 | | 输出参数:无 | | 返回值: 无 | | 说 明: | ****************************************************************************/ void Enable(); /**************************************************************************** | 函数功能:设置按钮显示的文本 | | 输入参数: | | szLabel: 按钮的文本