C++ 如何在对话框打开时调整控件的大小';s正在调整大小

C++ 如何在对话框打开时调整控件的大小';s正在调整大小,c++,winapi,anchor,C++,Winapi,Anchor,我有一个对话框,上面有一些控件。下图显示了该对话框的打印屏幕: 我成功地处理了WM_SIZE消息,以移动OK按钮,使其具有相同的边距(请参见以下代码行): 但是如果标签的文本,例如,文本标签比标签所能包含的长度更长,我不知道如何调整其宽度。为了更好地理解我想要做的事情,您应该注意,我想要获得与C#Winforms项目中的锚定相同的行为。感谢您的研究,您可能会从中获得一些想法。我理解这些代码,但我不知道是否可以将其转换为使用Win32,如果可以,我也不知道如何转换。(我不是在Visual C++

我有一个对话框,上面有一些控件。下图显示了该对话框的打印屏幕:

我成功地处理了
WM_SIZE
消息,以移动OK按钮,使其具有相同的边距(请参见以下代码行):


但是如果标签的文本,例如,文本标签比标签所能包含的长度更长,我不知道如何调整其宽度。为了更好地理解我想要做的事情,您应该注意,我想要获得与C#Winforms项目中的
锚定
相同的行为。

感谢您的研究,您可能会从中获得一些想法。我理解这些代码,但我不知道是否可以将其转换为使用Win32,如果可以,我也不知道如何转换。(我不是在Visual C++编程中的“老”)。
RECT rc;
int buttonWidth;
int buttonHeight;

::GetWindowRect(GetDlgItem(hDlg, IDOK), &rc);
buttonWidth = rc.right - rc.left;
buttonHeight = rc.bottom - rc.top;

::GetClientRect(hDlg, &rc);

MoveWindow(GetDlgItem(hDlg, IDOK), rc.right - buttonWidth - 8, rc.bottom - buttonHeight - 8, buttonWidth, buttonHeight, TRUE);