안녕하세요..
바로 질문드리겠습니다.
제목대로 마우스로 어플리케이션의 닫기버튼(X) 근처에 마우스를 가져다 놓으면 폼을 리사이즈할 수 있는 형태로 마우스 커서(?)의 모양이 바뀝니다.
이 상태에서 폼의 크기를 몇 차례 연속으로 조절하면 '매개 변수가 틀립니다'라는 메시지 창이 나오면서
어플리케이션이 종료됩니다.
(메시지 창의 개수를 헤아리기 힘들 정도로 많이..)
그리고 폼의 크기를 조절하는 순간 CPU의 사용율이 50%이상으로 올라가는 현상이 발생합니다.
이 현상은 windows 2000 에서는 '바탕화면- 등록정보 - 효과탭 - 마우스 끄는동안 창내용표시' 옵션을
XP에서는 '바탕화면 - 등록정보 - 화면배색탭 - 효과버턴 - 마우스 끄는동안 창내용표시' 옵션을
체크했을 때만 발생합니다.
이와 관련하여 게시된 글을 살펴봤는데
최용일님이 올리신 WM_SIZE메세지 를 이용하라는 것과
모영철님이 올리신 WM_SIZE 메세지와 wParam의 SIZE_RESTORED 를 이용하라는 내용이 있는데
내공부족으로 인해 처리하지 못했습니다.
이 문제의 해결책을 애타게 찾고 있습니다.
방법을 알려주세요~~~
(코드로 알려주시면 더욱더 좋고요~~ ^^)
폼을 그릴때 비트맵 해제가 제대로 이뤄지지 않아서 계속 누적되는듯 하네요.
혹시 쓰레드를 이용해 폼을 그리시나요?
TBitmap은 쓰레드상에서 리소스를 반환하지 못하는 버그를 가지고 있습니다.
이 문제는 적절한곳에서 Dormant를 호출해주면 해결할수 있습니다.
어떤 구조인지 모르니 이 정도 밖에는 답변드릴수 없네요.
그리고 CPU사용율은 폼 그리는 속도가 커서 움직이는 속도보다 오래걸린다면 100% 되는것은
당연하구요.. 50% 정도라면 HT 쓰시는것 같은데요?
PS.
델파이 2005에서는 비트맵 리소스 버그가 나타나지 않는군요..
2005를 쓰신다면 다른 문제일 수 있습니다.