|
제가 지금 하는 작업에서도 필요해서 찾아봤는뎅
아무래두 WM_NCHITTEST 에 LParam 값이 00520182가 시작값이고
00520183이 완료시 값으로 하면 될것같은뎅..
문제는 WM_NCHITTEST메세지가 수도없이 생겨서 이메세지가 일어나는 순간에 LPARAM값을
확인해서 해결한다는건 포기했어요..ㅡㅡ; 이걸 문제없이 처리하는 방법이 있을듯 한데..
"정석은 멀고 꽁수는 가깝다~!" 유명한 말 맞죠? ^ ^;;
그래서 저두 꽁수를 썼죠..^^;
제 작업 환경에선 루프를 돌려가며 값을 비교하기엔 비효율적일것 같아서
다른 방법으로 처리했죠..
컬럼이나로우가 리사이즈가 일어나는 환경은
1.그리드의 Fixed된 부분의 경계부분에서 마우스왼쪽버튼클릭이 일어나고 나서
2.마우스버튼이 UP하는 순간에 처리를 해주면 되죠..^ ^;
1번 처리
우선 bool형 변수 하나 맹글어노쿠
MouseDown 이벤트에서 왼쪽버튼 클릭일때 좌표로 셀값읽어오는 MouseToCell함수로 셀값을
읽어와서 이 셀값이 FixedCols보다 작으면 bool형 변수에 true로 해주고..
2번 처리
MouseUP 이벤트에선 bool변수값만 검사해서 true일때 다시 false로 만들고
원하는 처리를 해주게 했죠..^ ^;;
이 방법으로 하면 Rows의 리사이즈 순간도 쉽게 잡긴하죠.. 그리고 특정 Cell들을 다시 그려주는데도 문제없이 그려지고요..
하지만 resize가 아니고 그냥 fixed영역 클릭일때도 처리된다는게 글치만..제 작업에는 지장이
없는지라..^ ^;;
좀더 정확하게 하려면 클릭되는 순간 마우스 좌표값이랑 Cell의 Rect값을 받아와서
left,right 값이랑 비교하면 되겠지요... 근데 제 작업엔 필요없어서 이러케 까지 작업하고도
잘 처리될지 보장은 못해요.. 필요하시다면 님이 해보시고 글 올려주세요..^ ^;
이상 허접한...이였어요..
민인학 님이 쓰신 글 :
: 오브젝트 인스펙터에 봐도 시그널이 없습니다.
: 아니면. 제가 못찿는것일지도요..
: 부탁드립니다. ^^
:
|