有人会看这段代码吗?在调整窗口大小时,是否有一个不同的公式来移动STATIC控件。我有一个ChatRoomMessages
变量,用于保存代码中稍后创建的句柄。有一个变量在CreateWindow
时保持它们的y位置,所以我在相同的位置遍历它们。我需要它来获取ChatRoomMessages[i]
和y[i]
(这是RECT
中的y位置)并在调整大小时移动窗口。如果您愿意,我可以将代码上传给您或发送电子邮件。如果这不适合该网站,请删除我的错误算法。如果你能提出一个很棒的解决方案。
HWND ChatRoomMessages[100];
int y[100];
case WM_SIZING:
{
GetClientRect(hWnd, &sizingRect);
}
case WM_SIZE:
{
signed int y1;
RECT sizingRect2;
GetClientRect(hWnd, &sizingRect2);
if ((sizingRect2.bottom - sizingRect.bottom) > 0) {
for (int x1 = 0; x1 < 100; x1++)
{
//MessageBox(hWnd2, L"WM_SIZE Called", L"Message", MB_OK | MB_ICONQUESTION);
y[x1] -= (sizingRect2.bottom - sizingRect.bottom) - (j*100);
MoveWindow((HWND)ChatRoomMessages[x1], 0, y[x1], sizingRect2.right - 50, 100, TRUE);
}
}
else {
}
答案 0 :(得分:0)
y[i] = y[i] + (sizingRect2.bottom - sizingRect.bottom);