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);