标  题: 如何访问预定义的GDI对象                          
发信人: Pacific (无情~~~Nolove), 信区: VisualC
发信站: BBS 水木清华站 (Fri Oct 16 17:18:48 1998)


    可以通过调用CDC:: SlectStockObject使用Windows的几个预定义的对象,诸          
如刷子、笔以及字体。下例使用了Windows预定义的笔和刷子GDI对象在视窗中画一         
个椭圆。                                                                         
//Draw ellipse using stock black pen and gray brush.                             
void CSampleView:: OnDraw (CDC* pDC)                                             
{                                                                                
     //Determine size of view.                                                   
     CRect rcView;                                                               
     GetClientRect (rcView);                                                     
                                                                                 
     //Use stock black pen and stock gray brush to draw ellipse.                 
     pDC->SelectStockObject (BLACK_PEN);                                         
     pDC->SelectStockObject (GRAY_BRUSH)                                         
     //Draw the ellipse.                                                         
     pDC->Ellipse (reView);                                                      
}                                                                                
    也可以调用新的SDK函数GetSysColorBrush获取一个系统颜色刷子,下例用背景        
色在视窗中画一个椭圆:                                                           
void CsampleView:: OnDraw (CDC* pDC)                                             
{                                                                                
     //Determine size of view.                                                   
     CRect rcView;                                                               
     GetClientRect (rcView);                                                     
                                                                                 
     //Use background color for tooltips brush.                                  
     CBrush * pOrgBrush=pDC->SelectObject (                                      
          CBrush::FromHandle (::GetSysColorBrush (COLOR_INFOBK)));               
                                                                                 
     //Draw the ellipse.                                                         
     pDC->Ellipse (rcView);                                                      
                                                                                 
     //Restore original brush.                                                   
     pDC->SelectObject (pOrgBrush);                                              
}                                                                                
                                                                                 

--
        老鸟有交待,中鸟要等待,菜鸟要忍耐。
        老鸟级功夫:吹牛、聊天、玩MUD 、发呆。
        中鸟级功夫:睡觉、灌水、玩游戏、NT&VC。
        菜鸟级功夫:学习、泡妞、玩篮球、And so on

        My E-Mail: Nolove@263.net

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: yazhou.bbs@bbs.net.t]
※ 修改:.fzx 于 Aug  9 16:51:16 修改本文.[FROM: heart.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.376毫秒