大神求帮忙啊,这个程序那点有错误啊?
HDC hdc;hdc=::GetDC(m_hWnd);
PAINTSTRUCT ps;
HPEN hPen;
HPEN hPenOld;
hdc = BeginPaint( hWnd , &ps );
hPen = CreatePen( PS_SOLID , 3 , RGB( 255 , 0 , 0 );
hPenOld = ( HPEN )SelectObject ( hdc , hPen );
MoveToEx ( hdc , 20 , 10 , NULL );
LineTo( hdc , 200 ,100);
SelectObject (hdc , hPenOld);
DeleteObject ( hPen );
EndPaint ( hWnd , &ps );
为啥显示我
error C2660: 'BeginPaint' : function does not take 2 parameters
error C2660: 'EndPaint' : function does not take 2 parameters
[解决办法]
你的代码是放到哪里的?WM_PAINT消息响应中吗?
[解决办法]
代码位置呢?首先放到CView文件里面,之后要放到OnPaint和OnDraw之中。
[解决办法]
用OnDraw函数中的pDC来绘制:
HPEN hPen;
HPEN hPenOld;
hPen = CreatePen(PS_SOLID,3,RGB(255,0,0));
hPenOld = (HPEN)SelectObject(pDC->m_hDC,hPen);
pDC->MoveTo(20,10);
pDC->LineTo(200,100);
SelectObject(pDC->m_hDC,hPenOld);
DeleteObject(hPen);