程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> VC編程控件類HTControl之CHTGDIManager GDI資本治理類用法解析

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

編輯:關於C++

VC編程控件類HTControl之CHTGDIManager GDI資本治理類用法解析。本站提示廣大學習愛好者:(VC編程控件類HTControl之CHTGDIManager GDI資本治理類用法解析)文章只能為提供參考,不一定能成為您想要的結果。以下是VC編程控件類HTControl之CHTGDIManager GDI資本治理類用法解析正文


本文重要引見了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對象,應用者不須要撤消。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved