CPen 與HPEN

HDC hDC = ::GetDC(GetDlgItem(IDC_STATIC_PREVIEW)->GetSafeHwnd());
 RECT rcClient;
 ::GetClientRect(GetDlgItem(IDC_STATIC_PREVIEW)->GetSafeHwnd(),&rcClient);
 CPen pen( PS_SOLID,1,RGB(255,128,128));
 CPen *oldPen = ::SelectObject(hDC,&pen);

 LineTo(hDC, rcClient.left, rcClient.top);
 LineTo(hDC, rcClient.right,rcClient.bottom);

 ::SelectObject(hDC,&pOldPen);

此代碼有什麼問題呢?  不能實現用自己的畫筆畫線。

爲什麼不能使用自己的畫筆呢? CPen不能這樣用。以下爲正確的代碼

 

HPEN   hRedPen;
 hRedPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0));

 HPEN hPenOld = (HPEN)::SelectObject(hDC, hRedPen);

 LineTo(hDC, rcClient.left, rcClient.top);
 LineTo(hDC, rcClient.right,rcClient.bottom); 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章