曲径通幽论坛

标题: GetStockObject() -- 获取常用钢笔,画刷,字体或调色板的句柄 [打印本页]

作者: beyes    时间: 2012-1-21 16:56
标题: GetStockObject() -- 获取常用钢笔,画刷,字体或调色板的句柄
函数原型如下:
[C++] 纯文本查看 复制代码
HGDIOBJ GetStockObject(  int fnObject   // stock object type);


函数只有一个参数,它指定了要获取的对象类型,这些对象的类型包括了画刷,钢笔,字体,调色板等,这些类型并不是单一的,还可以细分,比如画刷里面有黑色画刷,灰色画刷等。整个函数就是返回这些资源的句柄。然而,这些资源的句柄也是多种类型的,所以应用中我们会对返回的句柄进行强制类型转换,使这个句柄的的身份得以明确。比如在一个窗口类的结构中有一个结构成员是窗口背景色(hbrBackground
)的,在对该成员赋值使一般会:
[C++] 纯文本查看 复制代码
WNDCLASS mywnd;
mywnd = (HBRUSH)GetStockObject(GRAY_BRUSH);   //设置成灰色画刷

效果如:
[attach]160[/attach]
上面窗口的背景色是灰色(GRAY_BRUSH)的,如果要改成黑色的,那么就写为 BLACK_BRUSH 。更多资源对象类型参考 MSDN 。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2