c++ - MFC:在运行时设置控件位置

标签 c++ winapi mfc

我有一个带有一些按钮控件和一个 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 );

如果您希望根据父级动态调整控件的大小。这是一个绝对的解决方案:

http://www.codeguru.com/cpp/misc/misc/article.php/c323/Method-to-achieve-repositioningresizing-of-child-controls.htm

关于c++ - MFC:在运行时设置控件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443839/

相关文章:

c++ - DLL 中的 CImage 析构函数会阻塞整个 MFC 程序

c++ - 在 MFC 中设置 UI 标题时出错

c++ - 如何使用 MSXML 和 C++ 追加具有重复名称的元素?

c++ - Intel HD 3000 上正确的 OpenGL 初始化是什么?

c++ - 如何使用默认播放软件在 Windows 上开始播放 DVD?

c++ - 调整大小后win32重绘

c++ - 如何在 C++ ncurses 中执行此操作?

c++ - 有什么方法可以将我的程序与 Wine 编译的部分链接起来吗?

C++ win32 GUI编程,最短路径?

visual-c++ - 如何更改CEdit的 "FONT"?