0
아래 코드를 코딩했습니다. 나는 내 프로그램에서 그것을 사용하고 그것이 작동하는 것 같습니다. 어쨌든, 나는 그것이 정확한지 묻습니다.lParam 메시지를 조합하십시오. 올바른 코드입니까?
int SendMessageWMSIZE(HWND hwnd) {
RECT rc;
GetClientRect(hwnd,&rc);
int lParam_my;
short low=rc.right-rc.left; // LOWORD
short high=rc.bottom-rc.top; // HIWORD
lParam_my=(high<<16)|low; // construct an int 32 from two int 16
SendMessage(hwnd, WM_SIZE, 0, lParam_my);
return lParam_my;
}
나는 "INT"와 "짧은"를 변경할 필요가 없습니다 (I (16)에 의해 32 INT을 이동하지만, 16 (16)에 의해 이동 가능)?
반바지 대신 "short"또는 "int"를 사용하는 이유는 무엇입니까?
당신은 공급 [매크로]를 사용 할 수 있습니다 (http://msdn.microsoft.com/en-us/library/windows/desktop/ff468920 (V = VS.85)에서 .aspx) 등을위한 작곡. [MAKELPARAM] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms632661 (v = vs.85) .aspx) 예를 들어 비트 이동에 대해 걱정할 필요가 없습니다. – eran