|
옴바라밀 님이 쓰신 글 :
: 엑셀에서 셀선택시와 같은 기능을 구현할려고 합니다
: 왼쪽버튼을 누르면 그냥 선택만 되고,오른쪽버튼을 누르면
: 선택과 동시에 팝업창을 띄우는 겁니다.
:
: 마우스 오른쪽 OnMouseDown이벤트에서 오른쪽 버튼 클릭시
: SendMessage로 WM_LBUTTONDOWN메세지를 보내려고 하는데
: WPARAM과 LPARAM값을 어떻게 취하는지 가르쳐 주시면 고맙겠습니다.
:
: 처음하는 질문인지라 깔끔하지 못한 점 죄송하구요
: 부탁합니다.
:
WM_LBUTTONDOWN
fwKeys = wParam; // key flags
xPos = LOWORD(lParam); // horizontal position of cursor
yPos = HIWORD(lParam); // vertical position of cursor
Parameters
fwKeys
wParam의 값. 각종 가상 키가 눌려져 있는지를 가리킴.
이 매개변수의 값은 아래 값들의 조합(bitwise inclusive OR 연산자를 이용. 즉 |)이 가능합니다.
값 설명
MK_CONTROL Set if the CTRL key is down.
MK_LBUTTON Set if the left mouse button is down.
MK_MBUTTON Set if the middle mouse button is down.
MK_RBUTTON Set if the right mouse button is down.
MK_SHIFT Set if the SHIFT key is down.
xPos
lParam의 하위 워드의 값.
마우스 커서의 x 좌표를 지정.
이 좌표는 클라이언트 영역의 좌상 모서리로부터의 상대적인 거리입니다.
yPos
lParam의 상위 워드의 값.
마우스 커서의 y 좌표를 지정.
이 좌표는 클라이언트 영역의 좌상 모서리로부터의 상대적인 거리입니다.
따라서 이 메시지를 보내는 입장에서 lParam 값을 설정하려면 아래와 같이 할 수 있습니다.
LPARAM lp = (yPos << 16 ) | (xPos & 0x00FF);
SendMessage(DestHWND,WM_LBUTTONDOWN,MK_LBUTTON,lp);
|