SelectObject()函數__MFC用戶端

來源:互聯網
上載者:User

SelectObject 
把一個對象(位元影像、畫筆、畫刷等)選入指定的裝置描述表。新的對象代替同一類型的老對象。

HGDIOBJ  SelectObject(    HDC  hdc,          // handle to DC    HGDIOBJ  hgdiobj   // handle to object );

 

參數 hdc 裝置描述表控制代碼(要載入的裝置描述表控制代碼) hgdiobj 選擇要載入的對象的控制代碼

但該對象的控制代碼必須使用以下函數建立才有效:

Bitmap(位元影像)          CreateBitmap, CreateBitmapIndirect, 
                            CreateCompatibleBitmap, CreateDIBitmap, 
                            CreateDIBSection 
Brush(畫刷)           CreateBrushIndirect, eateDIBPatternBrush,  
                            CreateDIBPatternBrushPt, CreateHatchBrush,  
                            CreatePatternBrush, CreateSolidBrush 
Font(字型)              CreateFont, CreateFontIndirect


Pen(畫筆)               CreatePen, CreatePenIndirect


Region(地區)             CombineRgn, CreateEllipticRgn,  
                               CreateEllipticRgnIndirect,  
                               CreatePolygonRgn, CreateRectRgn,  
                               CreateRectRgnIndirect 
傳回值:如果選擇對象不是地區並且函數執行成功,那麼傳回值是被取代的對象的控制代碼;如果選擇對象是地區並且函數執行成功,返回如下一值;

 =======================================================

1、看MSDN中的解釋:

Selects an object into the device context(選擇一個對象到裝置上下文中去).

[cpp]  view plain copy CPen* SelectObject(      CPen* pPen    );   CBrush* SelectObject(      CBrush* pBrush    );   virtual CFont* SelectObject(      CFont* pFont    );   CBitmap* SelectObject(      CBitmap* pBitmap    );   int SelectObject(      CRgn* pRgn    );   CGdiObject* SelectObject(      CGdiObject* pObject   );  

 

參數: pPen

A pointer to a CPen object to be selected. pBrush

A pointer to a CBrush object to be selected. pFont

A pointer to a CFont object to be selected. pBitmap

A pointer to a CBitmap object to be selected. pRgn

A pointer to a CRgn object to be selected. pObject

A pointer to a CGdiObject object to be selected.

 

傳回值:

A pointer to the object being replaced. This is a pointer to an object of one of the classes derived fromCGdiObject, such as CPen, depending on which version of the function is used.

 

返回一個指向被代替的對象的指標。這個真正指向的對象是重載於CGdiObject類的一種,比如CPen,具體以來與所使用的函數版本。

 

2、測試代碼

[cpp]  view plain copy void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)   {       // TODO: Add your message handler code here and/or call default       m_ptBegin=point;//m_ptBegin是類的成員,類型為CPoint          CView::OnLButtonDown(nFlags, point);   }      void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)   {       // TODO: Add your message handler code here and/or call default       CPen pen(PS_SOLID, 1, RGB(255, 0, 0));       CClientDC dc(this);       CPen*&n

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.