函數功能:該函數檢索預定義的備用筆、刷子、字體或者調色板的句柄。
函數原型:HGDIOBJ GetStockObject(int fnObject);
參數:
fnObject:指定對象的類型,該參數可取如下值之一;
BLACK_BRUSH:黑色畫筆;DKGRAY_BRUSH:暗灰色畫筆;DC_BRUSH:在Windows98,Windows NT 5.0和以後版本中爲純顏色畫筆,缺省色爲白色,可以用SetDCBrushColor函數改變顏色,更多的信息參見以下的註釋部分。GRAY_BRUSH:灰色畫筆;HOLLOW_BRUSH:空畫筆(相當於NULL_BRUSH);
LTGRAY_BRUSH:亮灰色畫筆;NULL_BRUSH:空畫筆(相當於HOLLOW_BRUSH);
WHITE_BRUSH:白色畫筆;BLACK_PEN:黑色鋼筆;
DC_PEN:在Windows98、Windows NT 5.0和以後版本中爲純色鋼筆,缺省色爲白色,使用SetDCPenColor函數可以改變色彩,更多的信息,參見下面的註釋部分。
WHITE_PEN:白色鋼筆;ANSI_FIXED_FONT:在Windows中爲固定間距(等寬)系統字體;
ANSI_VAR_FONT:在Windows中爲變間距(比例間距)系統字體;
DEVICE_DEFAUCT_FONT:在WindowsNT中爲設備相關字體;
DEFAULT_GUI_FONT:用戶界面對象缺省字體,如菜單和對話框;
OEM_FIXED_FONT:原始設備製造商(OEM)相關固定間距(等寬)字體;
SYSTEM_FONT:系統字體,在缺省情況下,系統使用系統字體繪製菜單,對話框控制和文本;
SYSTEM_FIXED_FONT:固定間距(等寬)系統字體,該對象僅提供給兼容16位Windows版本;
DEFAULT_PALETTE:缺省調色板,該調色板由系統調色板中的靜態色彩組成。
返回值:如果成功,返回值標識申請的邏輯對象,如果失敗,返回值爲NULL。
WindowsNT:若想獲得更多錯誤信息,請調用GetLastError函數。
註釋:僅在CS_HREDRAW和CS_UREDRAW風格的窗口中使用DKGRAY_BRUSH、GRAY_BRUSH和LTGRAY_BRUSH對象。
如果在其他風格的窗口中使灰色畫筆,可能導致在窗口移動或改變大小之後出現畫筆模式錯位現象,原始儲存畫筆不能被調整。
HOLLOW_BRUSH和NULL_BRUSH儲存對象相等。
由DEFAULT_GUI_FONT儲存對象使用的字體將改變。當想使用菜單、對話框和其他用戶界面對象使用的字體時請使用此儲存對象。
不必要通過調用DeleteObject函數來刪除儲存對象。
Windows 98、Windows NT 5.0和以後版本:DC_BRUSH和DC_PEN都能與其他儲存對象如BLACK_BRUSH和BLACK_PEN相互交換關於檢索當前鋼筆和畫筆顏色的信息,請參見GetDCBrushColor和GetDCPencolor,帶DC BRUSH或DC PEN參數的Getstockobject函數可以與SetDCPenColor和SetDCBrushColor函數相互交換使用。
Windows CE:Windows CE不支持fnObject參數的如下值:
ANSI_FIXED_FONT、ANSI_VAR_FONT、OEM_FIXED_FONT、SYSTEM_FIXED_FONT
Windows CE1.0版本不支持fnObject的DEFAULT_PALETTE值。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭文件:wingdi.h;頭文件:gdi32.lib。