|
유영인 Cuperido 님이 쓰신 글 :
: 지금 테스트상으로는 저는 발생하지 않지만.. 환경마다 다를수가 있다고 생각합니다.
: 만약 그 타이밍이 문제가 되신다면.. 따로 변수를 두어서 처리를 한다/안한다를 결정하시거나
: 폼이 하나시라면 기본적으로 OnMouseMove를 NULL로 두시고, OnActivate 에서 ..
: Form1->OnMouseMove = FormMouseMove;
: 이런식으로 이벤트를 설정해서 활성화 이후로부터 이벤트가 동작하도록 하는 방법도 괜찮지
: 않을까 싶습니다. 폼이 두개시라면, OnActivate에 한번만 실행되도록 처리해 주시는 루틴만
: 첨가해 주시면 됩니다. OnActivate는 모든 처리를 하고 나중에 뜨는거라 이런 타이밍에
: 사용이 가능하고요, 다만 폼간 이동시에도 계속 발생하므로 초기화등에는 적절치 않은
: 이벤트니, 한번만 실행되도록 해주시면 좋을것 같습니다.
답변해주신 방법으로도 해결이 가능할 것 같군요. ^^;
마우스 포인터를 Form1의 영역에 두고 Form1의 타이머가 5초후에
Form2라는 두번째 폼을 생성시키면 어느 시스템이든 Mouse관련 메시지가
발생하더군요.
그런데 마우스 포인터를 Form1의 영역밖에 둔 상태에서 5초후 Form2가
생성될 땐 마우스 메시지가 발생하지 않더군요. 음...Form1의 Active,
Deactive와의 관계없이 마우스 포인터가 Form1에 위치하는냐 안하는냐에
따라 발생되더군요.
그래서 하루종일 이걸로 고민하다 ... 해결한 방법이 Form2가 타이머에 의해
생성되기전 마우스 포인터를 Form1 영역밖으로 옮기는 것으로 해결했습니다.
위의 방법대로도 한 번 해봐야겠네요...그럼...좋은하루되세요...
아..그런데 테스트상으로는 발생되지 않는다고 하셨는데요...어떻게 해보셨는지?
궁금하군요.
|