VC編程控件類HTControl之CHTGDIManager GDI資源管理類用法解析
本文主要介紹了VC編程控件類HTControl的CHTGDIManager GDI資源管理類用法,MFC提供的CBitmap類的LoadBitmap接口只能從EXE內(nèi)部獲取位圖,但是很多情況下需要從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); /**************************************************************************** | 函數(shù)功能:從文件中獲取位圖 | | 輸入?yún)?shù): | | szPicPath: 圖片文件路徑 | | pRect: 取圖片的一部分 NULL表示取整個(gè)圖片 | | 輸出參數(shù):無 | | 返回值: 成功返回位圖句柄 失敗返回NULL | | 說 明:此類析構(gòu)時(shí)會(huì)刪除此位圖,使用者不用刪除 | ****************************************************************************/ HBITMAP GetBitmap(TCHAR* szPicPath, RECT* pRect = NULL); /**************************************************************************** | 函數(shù)功能:從資源中獲取位圖 | | 輸入?yún)?shù): | | iPicId: 資源ID | | pRect: 取圖片的一部分 NULL表示取整個(gè)圖片 | | 輸出參數(shù):無 | | 返回值: 成功返回位圖句柄 失敗返回NULL | | 說 明:此類析構(gòu)時(shí)會(huì)刪除此位圖,使用者不用刪除 | ****************************************************************************/ HBITMAP GetBitmap(int iPicId, RECT* pRect = NULL); /**************************************************************************** | 函數(shù)功能:獲取指定的字體 | | 輸入?yún)?shù): | | lHeight:字號(hào) | | lWeight: 粗度 | | szFaceName: 字體名稱 | | bUnderline: 是否帶底橫線 | | bItalic: 是否斜體 | | 輸出參數(shù):無 | | 返回值: 成功返回字體句柄 失敗返回NULL | | 說 明:此類析構(gòu)時(shí)會(huì)刪除此字體,使用者不用刪除 | ****************************************************************************/ 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對(duì)象的封裝類,許多習(xí)慣WIN32 API 開發(fā)的(SDK開發(fā))可能并不喜歡使用這些類(反正我是不喜歡用,個(gè)人認(rèn)為這些類封裝的并不怎么好),而是習(xí)慣使用API直接創(chuàng)建,況且許多情況下需要直接使用這些GDI對(duì)象的句柄。GDI對(duì)象的撤銷,GDI對(duì)象使用完成后是要撤銷的,以防資源泄漏。CHTGDIManager在類析構(gòu)時(shí)撤銷了它所創(chuàng)建的所有GDI對(duì)象,使用者不需要撤銷。
上一篇:基于C++實(shí)現(xiàn)的各種內(nèi)部排序算法匯總
欄 目:C語言
本文標(biāo)題:VC編程控件類HTControl之CHTGDIManager GDI資源管理類用法解析
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3511.html
您可能感興趣的文章
- 01-10深入理解鏈表的各類操作詳解
- 01-10用C++實(shí)現(xiàn)DBSCAN聚類算法
- 01-10深入理解C/C++混合編程
- 01-10深入sizeof的使用詳解
- 01-10深入探討C++父類子類中虛函數(shù)的應(yīng)用
- 01-10用C++實(shí)現(xiàn)strcpy(),返回一個(gè)char*類型的深入分析
- 01-10利用ace的ACE_Task等類實(shí)現(xiàn)線程池的方法詳解
- 01-10深入理解:Java是類型安全的語言,而C++是非類型安全的語言
- 01-10c++友元函數(shù)與友元類的深入解析
- 01-10c++中拷貝構(gòu)造函數(shù)的參數(shù)類型必須是引用


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子