gpt4 book ai didi

c - 组装一个 lParam 消息,这是正确的代码吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:44 25 4
gpt4 key购买 nike

我编写了下面的代码。我在我的程序中使用过它,它似乎有效。无论如何,我在问它是否正确。

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;
}

我不必将“short”更改为“int”吗(我可以将 32 int 移位 16,但将 16 移位 16)?

如果我使用“short”或“int”而不是 shorts,为什么它会起作用?

最佳答案

使用 MAKELPARAM 会更惯用宏。

SendMessage(hwnd, WM_SIZE, 0, MAKELPARAM(low, high));

关于c - 组装一个 lParam 消息,这是正确的代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11153550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com