안녕하세요..^^
바로 나갑니다.~~
windowsx.h 에 있는...
#define FORWARD_WM_SETCURSOR(hwnd, hwndCursor, codeHitTest, msg, fn) \
(BOOL)(DWORD)(fn)((hwnd), WM_SETCURSOR, (WPARAM)(HWND)(hwndCursor), MAKELPARAM((codeHitTest), (msg)))
요넘을 델파이로 바꿀려면 어떻게 해야 하나요.?
sendmessage나 SendMessageCallback 으로 해도 잘 안돼네요..ㅜ.ㅜ
순수 API로 코딩 하고 있는데요..델파이로....
원하는 위치에 갔을때 커서가 변해야 하는데..
바뀌긴 하는데 순간적으로 바뀌었다가 다시 바뀌었다가 그러네요
(따따따따따따따따따따따따따따..) <--- 이러네요..ㅡ.ㅡ;;;
이지역에 갔을땐 이커서다!! 이렇게 정의 할려는데...
C에서는 메세지 크래커에서
FORWARD_WM_SETCURSOR <---- 요넘을 사용했더라고..
ex)
return FORWARD_WM_SETCURSOR(hWnd,hwndCursor,codeHitTest,msg,DefWindowProc);
델파이는 무었으로 어떻게 하는게 좋을까요..?
result := SendMessageCallback...<--- 이건 아닌거 같고..ㅜ.ㅜ
그럼
~ 바 람 ~
그냥 unit가 아닌..api창 만드는 dpr쪽WindowProc에 집어 넣으니 되는군요..
아..왜 이생각을 못하고 안된다고만 생각했었는지..ㅡ.ㅡ;
<!--CodeS-->
.....WindowProc......
WM_SETCURSOR :
{$Region'setcursor.아젠장..ㅡ.ㅡ; 여기다가 두니 되네....'}
begin
.........................
if loword(lparam) = HTCLIENT then begin
.........................
SetCursor( R_Cursor.gin );
exit;
end;
....................................
....................................
....................................
....................................
..................................
if xxxx.InSelection( pt.X, pt.Y ) then begin
SetCursor( R_Cursor.Sel );
exit;
end;
end;//if codeHittest
end;
<!--CodeE-->