|
이용주 님이 쓰신 글 :
: canvas를 이용해서 그림을 그리는 작업을 하고 있습니다.
: 실시간으로요~~
: 쓰레드가 돌고 있는 상태에서는 별 무리없이 그림이 다시 뿌려지는데요..
: 쓰레드가 돌지 않는 상태에서 다른 창이 위에 올라와 있으면 밑의 그림이 사라지네요..
: 꽁수로 버튼을 하나 만들어서 다시 뿌려주게 하고 있는데염..
: 현재 활성화된 창이 다른 창의 뒤에 있거든 최소화 되었을때 그것을 알수 있는 값이 있나요??
: 그것을 알면 그걸 이용해서 다시 뿌려주면 될것 같은데.. 고수님들의 답변 부탁드립니다.
: 어디를 어떻게 찾아야 할지 막연하네요 ㅠㅠ
: 그럼 이만..
스레드에서 TForm::Canvas 에 직접 그려주면 안됩니다!
TForm::Canvas는 폼이 OnPaint 이벤트를 받을 때마다 새로 그려줘야 합니다.
TBitmap 객체를 동적 생성한 후,
TBitmap *bmp = new TBitmap;
스레드에서는 이 bmp->Canvas에다 그려 넣으세요.
폼의 OnPaint 이벤트 핸들러에서
Canvas->Draw(0, 0, bmp);
등으로 그려주시면 됩니다.
|