Q&A

  • API C코드 ---> 델파이..질문.. Cursor 관련
안녕하세요..^^

바로 나갑니다.~~

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...<--- 이건 아닌거 같고..ㅜ.ㅜ

그럼

~ 바 람 ~
1  COMMENTS
  • Profile
    바람 2005.03.25 00:55
    음 아래와 다른게 없고..
    그냥 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-->