|
WM_PAINT를 사용하여 지워지는 그림을 다시 그리고 싶습니다.
제가 이미지뷰어 비슷한것을 만들고 있는데
Image32->BitMap->Canvas->MoveTo(X,Y);
Image32->BitMap->Canvas->LineTo(X,Y);
를 사용하여 펜을 쓸수 있게 하려고 했었습니다.
그런데 이미지를 확대하니 X,Y값이 맞질않더군요.
그래서
if(PencilButton->Down){
Image32->Canvas->Pen->Color = FGShape->Pen->Color;
Image32->Canvas->MoveTo(X,Y);
return;
}
if(PencilButton->Down){
Image32->Canvas->LineTo(X,Y);
return;
}
이렇게 사용하니 마우스는 문제가 되질 않게 되었습니다.
그런데 문제는 이렇게 그린 선은 그위로 다른 창이 띄워지면 가려진부분이 지워져서 다시 그려지질 않는다는 점이었습니다.
그래서 질문을 하니 메모리 비트맵이나 WM_PAINT을 사용하면 된다고 하시는데 막상 사용하는 법을 전혀 모르겠습니다.
그러니까 저렇게 그려진 선위로 창이 가린다고 하더라도 다시 그려지는 방법이 알고 싶습니다.
|