小编Iva*_*ets的帖子

调整大小后重新绘制win32

我有下一个问题

我有基类"Shape",它包含虚函数draw(HWND),我有包含相同功能的子类"Line" draw(hwnd).

当我画线时WM_MOUSEMOVE,一切都好,但是当我最小化或改变窗口大小时,我的线条会消失

我需要做什么?

我有一个指向基类向量ff的向量; 形状*f;

case WM_LBUTTONDOWN:
{

    IsDrawing = TRUE;

    StartX = LOWORD(lParam);
    StartY = HIWORD(lParam);
    EndX = LOWORD(lParam);
    EndY = HIWORD(lParam);

    switch(iShape)
    {
    case LINE:
            f=new Line();
        break;
    case  RECTANGLE:
        f=new MyRectangle();
        break;
    }

    f->SetBrushWidth(5);
    f->SetColor(RGB(255,0,0));
    f->SetStartCoord(StartX,StartY);
    f->SetEndCoord(EndX,EndY);
    f->SetMode(1);
    f->draw(hWnd);
    break;
}

case WM_MOUSEMOVE:
if( IsDrawing == TRUE )
{
    f->SetEndCoord(EndX,EndY);
    f->SetMode(2);
    f->draw(hWnd);
    EndX = LOWORD(lParam);
    EndY = HIWORD(lParam);
    f->SetEndCoord(EndX,EndY);
    f->SetMode(2);
    f->draw(hWnd);
}

break;

case WM_LBUTTONUP:


EndX = LOWORD(lParam);
EndY = …
Run Code Online (Sandbox Code Playgroud)

c++ winapi

0
推荐指数
1
解决办法
1403
查看次数

标签 统计

c++ ×1

winapi ×1