MFC如何改变按钮大小

Tho*_*mas 1 c++ mfc

我有一个对话框,我在以下代码中使用了以下代码OnInitDialog()

RECT rect;
((CButton*)GetDlgItem(IDC_EDIT1))->GetWindowRect(&rect);

RECT rect2;
((CButton*)GetDlgItem(IDC_EDIT1))->SetWindowPos(this, 
                                     rect.left, 
                                     rect.top,
                                     (rect.right-rect.left)*2,
                                     rect.bottom-rect.top, SWP_FRAMECHANGED);
Run Code Online (Sandbox Code Playgroud)

但是按钮的大小不会改变。没发生什么事。还尝试了SWP_SHOWWINDOW具有相同结果的标志。

Tho*_*mas 5

使用MoveWindow代替SetWindowPosScreenToClient获取坐标后调用转换坐标GetWindowRect

  • 或者,使用“SWP_NOMOVE”调用“SetWindowPos”。这样做消除了调用“ScreenToClient”的需要。 (2认同)