欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

VC++中HTControl的CHTButton按鈕控件類用法實例解析

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

本文以實例形式講解了VC++中HTControl控件類的CHTButton按鈕控件類用法,相信對大家更好的理解VC++有一定的幫助。具體內(nèi)容如下:

一般了解VC++的朋友都知道,VC++ 按鈕控件CHTButton隸屬HTControl控件組,直接由WIN32 API實現(xiàn),你可以在SDK,MFC,wxWidget等環(huán)境下使用它。支持生成各種類型的按鈕,比如:普通按鈕,PNG透明按鈕,復(fù)選框按鈕,單選按鈕等。使用時請注意,窗體必須動態(tài)創(chuàng)建,代碼段如下:

m_HTBtnClose.Create(758, 0, 39, 20, m_hWnd, iChildId++);
m_HTBtnClose.SetAllBitmap(m_hBmpBtnCloseNormal, m_hBmpBtnCloseDown,m_hBmpBtnCloseHover);
m_HTBtnClose.SetParentBgMemDC(m_hdcMemBuf);

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();

/****************************************************************************
| 函數(shù)功能:創(chuàng)建按鈕                            |
| 輸入?yún)?shù):                                |
| x:    窗體位置x坐標(相對于父窗體)                   |
| y:    窗體位置y坐標(相對于父窗體)                   |
| iWidth: 窗體寬                             |
| iHeight: 窗體高                             |
| hParent: 父窗口句柄                           |
| hBtnId: 窗體ID                             |
| szLabel: 窗體標題                            |
| dwStyle: 按鈕行為標識                          |
|      BS_CHECKBOX :復(fù)選框按鈕                    |
|      BS_RADIOBUTTON :單選按鈕                    |
|      BS_NOTIFY:發(fā)送得到(BN_SETFOCUS)失去(BN_KILLFOCUS)焦點的通知  |
|      BS_NOTIFY << 2: 發(fā)送按下通知(BN_KILLFOCUS + 2)         |
| 輸出參數(shù):無                               |
| 返回值: 成功:窗口句柄 失敗: NULL                   |
| 說明:                                  |
****************************************************************************/
 HWND Create(int x, int y, int iWidth, int iHeight, HWND hParent, int iBtnId, 
     TCHAR* szLabel = NULL, DWORD dwStyle = NULL);

/****************************************************************************
| 函數(shù)功能:改變窗口位置大小                        |
| 輸入?yún)?shù):                                |
| iWidth: 窗體寬 -1表示寬不變                      |
| iHeight: 窗體高 -1表示高不變                      |
| x: 窗體位置x坐標                             |
| y: 窗體位置y坐標                             |
| bRepaint: 改變后是否重繪窗口                       |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:如果改變了窗口大小,在MoveWindow之前需要重新設(shè)置各種位圖    |
****************************************************************************/
 void MoveWindow(int x, int y, int iWidth = -1, int iHeight = -1, BOOL bRepaint = TRUE);

/****************************************************************************
| 函數(shù)功能:設(shè)置提示窗口類指針                       |
| 輸入?yún)?shù):                                |
| pclTip: 提示窗口類指針                          |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetToolTip(CHTTip* pclTip);

/****************************************************************************
| 函數(shù)功能:設(shè)置提示窗口的文本                       |
| 輸入?yún)?shù):                                |
| szTipText: 提示文本                           |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetTipText(TCHAR* szTipText);

/****************************************************************************
| 函數(shù)功能:獲取窗口的句柄                         |
| 輸入?yún)?shù):無                               |
| 輸出參數(shù):無                               |
| 返回值: 窗體句柄                            |
| 說  明:                                |
****************************************************************************/
 HWND GetHandle();

/****************************************************************************
| 函數(shù)功能:獲取父窗口的句柄                        |
| 輸入?yún)?shù):無                               |
| 輸出參數(shù):無                               |
| 返回值: 父窗體句柄                           |
| 說  明:                                |
****************************************************************************/
 HWND GetParent();

/****************************************************************************
| 函數(shù)功能:設(shè)置字體                            |
| 輸入?yún)?shù):                                |
| hFont: 字體                               |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetFont(HFONT hFont);

/****************************************************************************
| 函數(shù)功能:設(shè)置文字的顏色                         |
| 輸入?yún)?shù):                                |
| CRText: 顏色值                              |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetBtnTextColor(COLORREF CRText);

/****************************************************************************
| 函數(shù)功能:設(shè)置字體(鼠標停留窗體上時)                   |
| 輸入?yún)?shù):                                |
| hFont: 字體                               |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:如未設(shè)置則采用SetFont設(shè)置的字體                 |
****************************************************************************/
 void SetHoverFont(HFONT hFont);

/****************************************************************************
| 函數(shù)功能:設(shè)置文字的顏色(鼠標停留窗體上時)                |
| 輸入?yún)?shù):                                |
| CRText: 顏色值                              |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:如未設(shè)置則采用SetBtnTextColor設(shè)置的顏色             |
****************************************************************************/
 void SetHoverBtnTextColor(COLORREF CRText);

/****************************************************************************
| 函數(shù)功能:使窗口無效并繪制窗口                      |
| 輸入?yún)?shù):無                               |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void Disable();

/****************************************************************************
| 函數(shù)功能:使窗口有效并按常態(tài)繪制窗口                   |
| 輸入?yún)?shù):無                               |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void Enable();

/****************************************************************************
| 函數(shù)功能:設(shè)置按鈕顯示的文本                       |
| 輸入?yún)?shù):                                |
| szLabel: 按鈕的文本                           |
| point: 文字起始坐標,默認居中                       |
| bTextMove:按下時文字是否移動(向右下角移動一像素)             |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetLabel(TCHAR* szLabel, POINT* point = NULL, BOOL bTextMove = TRUE);

/****************************************************************************
| 函數(shù)功能:獲取按鈕上的文本                        |
| 輸入?yún)?shù):                                |
| szLabel: 按鈕的文本                           |
| 輸出參數(shù):無                               |
| 返回值: 文本指針                            |
| 說  明:                                |
****************************************************************************/
 TCHAR* GetLabel();

/****************************************************************************
| 函數(shù)功能:獲取按鈕狀態(tài)                          |
| 輸入?yún)?shù):無                               |
| 輸出參數(shù):無                               |
| 返回值: 按鈕狀態(tài) 0:常態(tài) 1:按下 2:長按 3:無效            |
| 說  明:                                |
****************************************************************************/
 int GetState();

/****************************************************************************
| 函數(shù)功能:設(shè)置長按生效時間                        |
| 輸入?yún)?shù):                                |
| wLongPressTime : 長按生效時間(長按通知碼BN_KILLFOCUS + 3)         | 
|         0表示不打開長按功能                   |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetLongPressTime(WORD wLongPressTime);

/****************************************************************************
| 函數(shù)功能:設(shè)置復(fù)選和單選按鈕的狀態(tài)                    |
| 輸入?yún)?shù):                                |
| bCheck: FALSE(BST_UNCHECKED)或者TRUE(BST_CHECKED)            |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetCheck(BOOL bCheck);

/****************************************************************************
| 函數(shù)功能:獲取復(fù)選和單選按鈕的狀態(tài)                    |
| 輸入?yún)?shù):無                               |
| 輸出參數(shù):無                               |
| 返回值: FALSE(BST_UNCHECKED)或者TRUE(BST_CHECKED)            |
| 說  明:                                |
****************************************************************************/
 BOOL GetCheck();

/****************************************************************************
| 函數(shù)功能:設(shè)置按鈕常態(tài)的位圖                       |
| 輸入?yún)?shù):                                |
| hBitmap: 位圖                              |
| iNormalLeftLen: 位圖左側(cè)不可拉伸部分的長度                |
| iNormalRightLen: 位圖右側(cè)不可拉伸部分的長度                |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetNormalBitmap(HBITMAP hBitmap, int iNormalLeftLen = 0, int iNormalRightLen = 0);

/****************************************************************************
| 函數(shù)功能:設(shè)置按鈕按下的位圖                       |
| 輸入?yún)?shù):                                |
| hBitmap: 位圖                              |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetLBtnDownBitmap(HBITMAP hBitmap);

/****************************************************************************
| 函數(shù)功能:設(shè)置鼠標在按鈕之上時按鈕的位圖                 |
| 輸入?yún)?shù):                                |
| hBitmap: 位圖                              |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetHoverBitmap(HBITMAP hBitmap);

/****************************************************************************
| 函數(shù)功能:設(shè)置按鈕無效時的位圖                      |
| 輸入?yún)?shù):                                |
| hBitmap: 位圖                              |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetDisableBitmap(HBITMAP hBitmap);

 void SetAllBitmap(HBITMAP hBitmapNormal, HBITMAP hBitmapLBtnDown, HBITMAP hBitmapHover,
        int iNormalLeftLen = 0, int iNormalRightLen = 0);

/****************************************************************************
| 函數(shù)功能:設(shè)置按鈕上的圖標的位圖                     |
| 輸入?yún)?shù):                                |
| hBitmap: 位圖                              |
| pIconRect:圖標占據(jù)的矩形                         |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetIcon(HBITMAP hBitmap, RECT* pIconRect);

/****************************************************************************
| 函數(shù)功能:設(shè)置窗體的不透明度                       |
| 輸入?yún)?shù):                                |
| iTransparency: 不透明度的百分比                     |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void SetTransparency(int iTransparency);
 
/****************************************************************************
| 函數(shù)功能:設(shè)置父窗體背景內(nèi)存畫布                     |
| 輸入?yún)?shù):                                |
| hParentBgMemDC: 父窗體背景內(nèi)存畫布                    |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:當父窗體背景在變化并且此窗體本身也有透明度時(包括窗體使用的位圖 |
|      具有透明度或者窗體沒有背景位圖),需要調(diào)用此接口         |
****************************************************************************/
 void SetParentBgMemDC(HDC hParentBgMemDC, int x = 0, int y = 0);
 
/****************************************************************************
| 函數(shù)功能:設(shè)置父窗體使用的背景位圖                    |
| 輸入?yún)?shù):                                |
| hParentBgBitmap: 父窗體使用的背景位圖                  |
| x, y 位圖繪畫起始點坐標                          |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:當父窗體背景使用靜態(tài)位圖并且此窗體本身也有透明度時(包括窗體使用 |
|      的位圖具有透明度或者窗體沒有背景位圖),需要調(diào)用此接口      |
****************************************************************************/
 void SetParentBgBitmap(HBITMAP hParentBgBitmap, int x = 0, int y = 0);
 
/****************************************************************************
| 函數(shù)功能:設(shè)置父窗體背景顏色                       |
| 輸入?yún)?shù):                                |
| CRParentBg: 父窗體背景顏色                        |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:當父窗體背景使用固定顏色并且此窗體本身也有透明度時(包括窗體使用 |
|      的位圖具有透明度或者窗體沒有背景位圖),需要調(diào)用此接口      |
****************************************************************************/
 void SetParentBgColor(COLORREF CRParentBg = RGB(236, 233, 216));

/****************************************************************************
| 函數(shù)功能:把窗口繪制到目標設(shè)備內(nèi)容                    |
| 輸入?yún)?shù):                                |
| hdcDest: 目標設(shè)備內(nèi)容                          |
| x, y: 繪畫起始坐標                            |
| 輸出參數(shù):無                               |
| 返回值: 無                               |
| 說  明:                                |
****************************************************************************/
 void DrawWindow(HDC hdcDest, int x = 0, int y = 0);

 CMyButton* GetCMyButton();

private:
 CMyButton* m_pclBtn;
};
#endif //!__CHTBUTTON_H__

此類支持窗體以任意透明度顯示,操作很簡單,使用下面接口即可實現(xiàn):

void SetTransparency(int iTransparency);

CHTButton類同時也實現(xiàn)了PNG透明按鈕,感興趣的讀者可以自己測試一下。

上一篇:VC++實現(xiàn)通過API來查看程序錯誤信息的方法

欄    目:C語言

下一篇:VC++的if語句應(yīng)用范圍分析

本文標題:VC++中HTControl的CHTButton按鈕控件類用法實例解析

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3523.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有