윈도우를 하나 만들고, 그림 파일을 열면 서브 윈도우를 만들어서 그림 파일이 거기 뜨도록 해 놓았음
근데 이게 윈도우 크기를 바꾸면은 화면이 싹 초기화되부러. 늘이건 줄이건 최대화하건간에. 그래서 그림이 사라져 버리는 거임
WM_SIZE에서 뭔가 특단의 조치를 취해야 할 것 같은데 방법을 아신다면 조언 좀 굽신
윈도우를 하나 만들고, 그림 파일을 열면 서브 윈도우를 만들어서 그림 파일이 거기 뜨도록 해 놓았음
근데 이게 윈도우 크기를 바꾸면은 화면이 싹 초기화되부러. 늘이건 줄이건 최대화하건간에. 그래서 그림이 사라져 버리는 거임
WM_SIZE에서 뭔가 특단의 조치를 취해야 할 것 같은데 방법을 아신다면 조언 좀 굽신
윈도우 스타일에 사이즈변경가능 옵션 들어갔답니다. 글내려 주세요.
최소화 했다가 복구해도 살아있나요.
아니 죽었네요. 윈도우 자체를 이동시키는 건 괜찮은데
WM_PAINT인가 거기서 그리세요.
거기서 BitBlt 한 거예요. 메인 윈도우에서 비트맵 핸들(전역)에 이미지 로드하고, 서브 윈도우 WM_PAINT에서 hdc 만들어서 BitBlt 한건데 참 이상하네....
WM_PAINT가 다시 그려야 할 상황되면 메세지가 오는데 한번만 그려진다는 소리네요. 왜 그럴 까요?
혹시나 해서 WM_MOVE에 InvalidateRect를 줬더니 윈도우 이동시에도 화면이 지워져 버리네요. WM_SIZE는 주나 안 주나 똑같고
WM_PAINT에 break 걸어봅니다.
아뇨, 그거 빼먹었으면 나가 죽어야죠
WM_PAINT 받고 BitBlt해도 안 그려지면 그 원인을 찾아야죠. 원인을 왜 다른곳에서 찾죠.
invalidateRect에서 문제가 있는 것 같네요. 암튼 고마워요
http://www.catch22.net/tuts/flicker-free-drawing
InvalidateRect에서 통으로 지우고 클립핑도 안 했나보구만
이미지 파일 WM_PAINT에서 열었죠?