|
|

楼主 |
发表于 2011-12-8 20:35:02
|
显示全部楼层
By、小雨(zy) 发表于 2011-12-8 08:38
用重载afx_msg void OnLButtonDown( UINT nFlags, CPoint point );
去取,响应这个系统消息的时候就可以 ...
#include <afxwin.h>
CPoint p;
LRESULT CALLBACK DrawProc( HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
WNDCLASS m;
m.cbClsExtra=0;
m.cbWndExtra=0;
m.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
m.hCursor=LoadCursor(NULL,IDC_ARROW);
m.hIcon=LoadIcon(NULL,IDI_APPLICATION);
m.hInstance=hInstance;
m.lpfnWndProc=DrawProc;
m.lpszClassName="小爬爬";
m.style=CS_HREDRAW | CS_VREDRAW ;
m.lpszMenuName=NULL;
RegisterClass(&m);
HWND MyDraw;
MyDraw=CreateWindow("小爬爬","小爬爬制作",WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,NULL,hInstance,NULL);
ShowWindow(MyDraw,SW_SHOWNORMAL);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK DrawProc( HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
HDC hdc;
hdc=::GetDC(hwnd);
switch(uMsg)
{
case WM_LBUTTONDOWN:{
//怎么写>_<...
;break;}
case WM_LBUTTONUP:{::MoveToEx(hdc,p.x,p.y,NULL);
//怎么写>_<...
::LineTo(hdc,p.x,p.y);
::ReleaseDC(hwnd,hdc);
break;
}
default:
DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}
一个鼠标坐标卡死我两天 >_<...... |
|