如何将CPoint作为SendMessage的参数进行传递

(A)将CPoint作为SendMessage的参数进行传递有两种方法:

1 利用MAKELPARAM传递CPoint的值

   例如:SendMessage(hWnd,WM_MESS, NULL, MAKELPARAM(point.x, point.y));

   其中,hWnd是处理这条消息的函数,WM_MESS是你的消息

2 强制类型转换

SendMessage(hWnd,WM_MESS, NULL, LPARAM(&point));

(B)接收Point的信息

LRESULT CBitWnd::OnWmMess(WPARAM wParam,LPARAM lParam)
{
//接收的过程需要转换成指针,因为SendMessage的两个参数都是指针,前一个是宽指针
    CPoint *point=(CPoint*)lParam;
    int x = point->x;
    int y = point->y;

    CRect rect;
   GetParent()->GetClientRect(&rect);

    this->MoveWindow(x,rect.top,rect.Width(),rect.Height());
   return 0L;
}

你可能感兴趣的:(null)