我有一个带有一些按钮控件和一个 activeX 网络浏览器控件的 mfc 对话框窗口。 现在我将控件拖放到我的对话框窗口上,因此它们的位置有点硬编码并且与对话框无关。 当对话窗口打开时,我想在运行时设置它们的位置。
我尝试执行 SetWindowPos(GetDlgItem(IDC_EXPLORER), 0,0,a,b,1);
但它什么也没做。
我还能尝试什么?
最佳答案
SetWindowPos 是你刚才用错的参数。您已指定 SWP_NOSIZE 的最终标志,但我认为这不是您想要的。试试这个:
GetDlgItem(IDC_EXPLORER)->SetWindowPos( NULL, 0, 0, a, b, SWP_NOZORDER | SWP_NOMOVE | SWP_SHOWWINDOW );
如果您希望根据父级动态调整控件的大小。这是一个绝对的解决方案:
关于c++ - MFC:在运行时设置控件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443839/