首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于BEZIER曲线的有关问题

2012-04-17 
关于BEZIER曲线的问题C/C++ codecase WM_LBUTTONDOWN:case WM_RBUTTONDOWN:case WM_MOUSEMOVE:{if (wParam

关于BEZIER曲线的问题

C/C++ code
    case WM_LBUTTONDOWN:    case WM_RBUTTONDOWN:    case WM_MOUSEMOVE:        {            if (wParam & MK_LBUTTON || wParam & MK_RBUTTON)            {                hdc = GetDC(hwnd);                SelectObject(hdc, GetStockObject(WHITE_PEN));                DrawBezier(hdc, apt);                if (wParam & MK_LBUTTON)                {                    apt[1].x = LOWORD(lParam);                    apt[1].y = HIWORD(lParam);                }                                if (wParam & MK_RBUTTON)                {                    apt[2].x = LOWORD(lParam);                    apt[2].y = HIWORD(lParam);                }                SelectObject(hdc, GetStockObject(BLACK_PEN));                DrawBezier(hdc, apt);                ReleaseDC(hwnd, hdc);            }            return 0;        }

上面是画BEZIER曲线的核心代码 我想知道的是里面的wParam 和 HIWORD(lParam) LOWORD(lParam) 具体是指的什么东西
是窗口的坐标吗?貌似能随时变化?

[解决办法]
在帮助中搜索“WM_MOUSEMOVE”:
WM_MOUSEMOVE 
fwKeys = wParam; // key flags 
xPos = LOWORD(lParam); // horizontal position of cursor 
yPos = HIWORD(lParam); // vertical position of cursor 
同理:
WM_LBUTTONDOWN 
fwKeys = wParam; // key flags 
xPos = LOWORD(lParam); // horizontal position of cursor 
yPos = HIWORD(lParam); // vertical position of cursor 

热点排行