调整椭圆大小

问题描述

| 我不明白为什么这行不通。在消息WM_LBUTTONDOWN上,存储了指针的坐标。然后在WM_MOUSEMOVE上,如果按下鼠标左键,我希望它绘制一个包含原始点和鼠标现在所在的新点的椭圆。但是当我调试时什么也没有发生。这是我的WindowProc
LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
 {
PAINTSTRUCT ps;
HDC hdc;


switch (uMsg)
{

    case WM_DESTROY: 
    {
    DestroyWindow(hwnd);
    PostQuitMessage(0);
    break;

    }
    case WM_PAINT:
    {
        hdc = BeginPaint(hwnd,&ps);
        EndPaint(hwnd,&ps);
        break;
    }
    case WM_LBUTTONDOWN:
    {
        pnt.x = GET_X_LPARAM(lParam);
        pnt.y = GET_Y_LPARAM(lParam);
        break;
    }
    case WM_MOUSEMOVE:
    {
        if(wParam == MK_LBUTTON)
        {
            hdc = BeginPaint(hwnd,&ps);
            Ellipse(hdc,pnt.x,pnt.y,GET_X_LPARAM(lParam),GET_Y_LPARAM(lParam)); // nothing happens
            EndPaint(hwnd,&ps);
        }
        break;
    }
    return 0;
}
   return  DefWindowProc(hwnd,uMsg,wParam,lParam);
 }
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)