欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2014年08月11日 11:35:02   投稿:shichen2014  
這篇文章主要介紹了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ì)象,使用者不需要撤銷。

相關(guān)文章

  • C++學(xué)習(xí)之異常機(jī)制詳解

    C++學(xué)習(xí)之異常機(jī)制詳解

    C++中的異常處理機(jī)制可以幫助我們處理程序在運(yùn)行時(shí)可能會(huì)遇到的異常情況,比如內(nèi)存分配錯(cuò)誤、文件打開失敗等。本文就和大家詳細(xì)講講C++中異常機(jī)制的具體使用吧
    2023-04-04
  • Qt無邊框窗口拖拽和陰影的實(shí)現(xiàn)

    Qt無邊框窗口拖拽和陰影的實(shí)現(xiàn)

    自定義窗口控件的無邊框,窗口事件由于沒有系統(tǒng)自帶邊框,無法實(shí)現(xiàn)拖拽拉伸等事件的處理,本文主要介紹了Qt無邊框窗口拖拽和陰影的實(shí)現(xiàn),感興趣的可以了解一下
    2024-01-01
  • C語言數(shù)據(jù)結(jié)構(gòu)之二叉樹的非遞歸后序遍歷算法

    C語言數(shù)據(jù)結(jié)構(gòu)之二叉樹的非遞歸后序遍歷算法

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之二叉樹的非遞歸后序遍歷算法的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • Qt實(shí)現(xiàn)簡(jiǎn)單動(dòng)態(tài)時(shí)鐘

    Qt實(shí)現(xiàn)簡(jiǎn)單動(dòng)態(tài)時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)簡(jiǎn)單動(dòng)態(tài)時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • c++ KMP字符串匹配算法

    c++ KMP字符串匹配算法

    大家好,本篇文章主要講的是c++ KMP字符串匹配算法,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • C++實(shí)現(xiàn)LeetCode(22.生成括號(hào))

    C++實(shí)現(xiàn)LeetCode(22.生成括號(hào))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(22.生成括號(hào)),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 好用的C++ string Format“函數(shù)”介紹

    好用的C++ string Format“函數(shù)”介紹

    大家好,本篇文章主要講的是好用的C++ string Format“函數(shù)”介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 如何把C++的源代碼改寫成C代碼的方法

    如何把C++的源代碼改寫成C代碼的方法

    這篇文章主要介紹了如何把C++的源代碼改寫成C代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • C/C++編譯報(bào)錯(cuò)printf was not declared in this scope問題及解決

    C/C++編譯報(bào)錯(cuò)printf was not declared in 

    這篇文章主要介紹了C/C++編譯報(bào)錯(cuò)printf was not declared in this scope問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C語言函數(shù)棧幀的創(chuàng)建與銷毀原理圖解

    C語言函數(shù)棧幀的創(chuàng)建與銷毀原理圖解

    我們知道c語言中函數(shù)都是被調(diào)用的,main函數(shù)里面能調(diào)用其他函數(shù),其實(shí)main函數(shù)也是被別的函數(shù)調(diào)用的,下面通過本文給大家分享c語言函數(shù)棧幀的創(chuàng)建和銷毀過程,一起看看吧
    2022-05-05

最新評(píng)論