GetStockObject

函數功能:

GetStockObject 函數用於獲得 Windows 預設的畫筆、畫刷、字體或者調色板的句柄。


API 函數原型:

註釋:_In_ 說明該參數是輸入的。
  1. HGDIOBJ GetStockObject(
  2.   _In_  int fnObject
  3. );
複製代碼


參數解析:

參數 含義
fnObject指定待獲取對象的類型,具體參考下邊。


fnObject 可取如下值之一:

含義
BLACK_BRUSH 黑色畫刷
DKGRAY_BRUSH 暗灰色畫刷
DC_BRUSH 1. 純色畫刷,默認顏色是白色的
2. 調用 SetDCBrushColor 函數可以修改該值的顏色
GRAY_BRUSH 灰色畫刷
HOLLOW_BRUSH 空畫刷(相當於 NULL_BRUSH)
LTGRAY_BRUSH 淺灰色畫刷
NULL_BRUSH 空畫刷(相當於 HOLLOW_BRUSH)
WHITE_BRUSH 白色畫刷
BLACK_PEN 黑色畫筆
DC_PEN1. 純色畫筆,默認顏色是白色的
2. 調用 SetDCPenColor 函數可以修改該值的顏色
NULL_PEN 空畫筆(空畫筆不繪製任何東西)
WHITE_PEN 白色畫筆
ANSI_FIXED_FONT Windows 中的固定間距(等寬)系統字體
ANSI_VAR_FONT Windows 中的可變間距(比例間距)系統字體
DEVICE_DEFAULT_FONT 設備相關字體
DEFAULT_GUI_FONT 1. 用戶界面對象(如菜單、對話框)的默認字體
2. 不推薦使用 DEFAULT_GUI_FONT 或 SYSTEM_FONT 獲得對話框或系統的字體
3. 該字體默認是 Tahoma
OEM_FIXED_FONT 原始設備製造商(OEM)相關固定間距(等寬)字體
SYSTEM_FONT 1. 系統字體
2. 默認情況下,Windows 使用系統字體繪製菜單,對話框和文本
3. 不推薦使用 DEFAULT_GUI_FONT 或 SYSTEM_FONT 獲得對話框或系統的字體
4. 該字體默認是 Tahoma
SYSTEM_FIXED_FONT 1. 固定間距(等寬)系統字體
2. 該對象僅爲兼容 16 位 Windows 版本提供
DEFAULT_PALETTE 默認調色板(該調色板由系統調色板中的靜態色彩組成)


返回值:

1. 如果函數調用成功,返回值是所申請的邏輯對象的句柄;

2. 如果函數調用失敗,返回值是 NULL。


備註:

1. 不建議您使用該函數獲得對話框和窗口的當前字體。應該使用 SystemParametersInfo 函數(SPI_GETNONCLIENTMETRICS 參數)來獲得當前字體,因爲 SystemParametersInfo 函數將考慮到當前主題,並提供了標題欄,菜單和消息對話框的字體信息。

2. 僅在窗口風格爲 CS_HREDRAW 和 CS_VREDRAW 中,才能使用 DKGRAY_BRUSH、GRAY_BRUSH 和 LTGRAY_BRUSH 對象。如果在其他風格的窗口中使灰色畫刷,可能導致在窗口移動或改變大小之後出現畫刷模式錯位現象,原始畫刷不能被調整。

3. HOLLOW_BRUSH 和 NULL_BRUSH 對象是一樣的。

4. 不必要通過調用 DeleteObject 函數來刪除 Windows 預設的對象。

5. DC_BRUSH 和 DC_PEN 都能與其他對象如 BLACK_BRUSH 和 BLACK_PEN 相互交換。具體請參考 GetDCBrushColor 函數、SetDCBrushColor 函數、GetDCPenColor 函數和 SetDCPenColor 函數。

【API檔案】版權歸魚C工作室(www.fishc.com)所有,轉載請註明來源。

來自羣組: WinSDK
發佈了17 篇原創文章 · 獲贊 19 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章