国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

VC編程控件類HTControl之CHTGDIManager GDI資源管理類用法解析

2020-01-26 15:25:13
字體:
來源:轉載
供稿:網友

本文主要介紹了VC編程控件類HTControl的CHTGDIManager GDI資源管理類用法,MFC提供的CBitmap類的LoadBitmap接口只能從EXE內部獲取位圖,但是很多情況下需要從EXE外部獲取,CHTGDIManager類提供了從EXE外部獲取位圖的接口,使用方法如下:

m_hBmpBtnCloseNormal = m_HTGDIManager.GetBitmap(_T(".//pic//btn_close_normal.png"));
#if !defined(__CHTGDIMANAGER_H__)#define __CHTGDIMANAGER_H__class AFX_CLASS_EXPORT CHTGDIManager{public: CHTGDIManager(void); ~CHTGDIManager(void);/****************************************************************************| 函數功能:從文件中獲取位圖                        || 輸入參數:                                || szPicPath: 圖片文件路徑                          || pRect: 取圖片的一部分 NULL表示取整個圖片                 || 輸出參數:無                               || 返回值: 成功返回位圖句柄 失敗返回NULL                 || 說  明:此類析構時會刪除此位圖,使用者不用刪除             |****************************************************************************/HBITMAP GetBitmap(TCHAR* szPicPath, RECT* pRect = NULL);/****************************************************************************| 函數功能:從資源中獲取位圖                        || 輸入參數:                                || iPicId: 資源ID                              || pRect: 取圖片的一部分 NULL表示取整個圖片                 || 輸出參數:無                               || 返回值: 成功返回位圖句柄 失敗返回NULL                 || 說  明:此類析構時會刪除此位圖,使用者不用刪除             |****************************************************************************/HBITMAP GetBitmap(int iPicId, RECT* pRect = NULL);/****************************************************************************| 函數功能:獲取指定的字體                         || 輸入參數:                                || lHeight:字號                               || lWeight: 粗度                               || szFaceName: 字體名稱                           || bUnderline: 是否帶底橫線                         || bItalic: 是否斜體                            || 輸出參數:無                               || 返回值: 成功返回字體句柄 失敗返回NULL                 || 說  明:此類析構時會刪除此字體,使用者不用刪除             |****************************************************************************/HFONT GetFont(long lHeight, long lWeight, TCHAR* szFaceName, BOOL bUnderline = FALSE, BOOL bItalic = FALSE); void DeleteBitmap(HBITMAP hBitmap); void DeleteAllBitmap(HBITMAP hBitmap); void DeleteFont(HFONT hFont); void DeleteAllFont(HFONT hFont);private: HBITMAP* m_hBitmap; HFONT* m_hFont; int m_iBitmapIndex; int m_iFontIndex; int m_iBitmapCount; int m_iFontCount;};#endif //!__CHTGDIMANAGER_H__

MFC提供了各種GDI對象的封裝類,許多習慣WIN32 API 開發的(SDK開發)可能并不喜歡使用這些類(反正我是不喜歡用,個人認為這些類封裝的并不怎么好),而是習慣使用API直接創建,況且許多情況下需要直接使用這些GDI對象的句柄。GDI對象的撤銷,GDI對象使用完成后是要撤銷的,以防資源泄漏。CHTGDIManager在類析構時撤銷了它所創建的所有GDI對象,使用者不需要撤銷。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 米易县| 邵武市| 福建省| 彭阳县| 洛扎县| 芦溪县| 兴安盟| 博罗县| 兴海县| 化德县| 崇礼县| 繁峙县| 苍山县| 灵山县| 济南市| 德安县| 库车县| 庆阳市| 清远市| 漳浦县| 彰化县| 陇西县| 洪泽县| 灵丘县| 唐山市| 中牟县| 汽车| 孝昌县| 锡林浩特市| 青冈县| 腾冲县| 顺义区| 乾安县| 舞阳县| 屯昌县| 盐亭县| 台山市| 吉安市| 揭西县| 清徐县| 南康市|