mfc 获得dialog窗口的大小,怎么和设置窗口的大小不一样
时间: 2024-02-11 11:09:06 浏览: 29
您可以使用以下代码获取对话框的大小:
```cpp
CRect rect;
GetClientRect(rect);
int nWidth = rect.Width();
int nHeight = rect.Height();
```
要设置对话框的大小,您可以使用以下代码:
```cpp
CRect rect;
GetWindowRect(rect);
rect.right = rect.left + nNewWidth;
rect.bottom = rect.top + nNewHeight;
MoveWindow(rect);
```
其中,`nNewWidth` 和 `nNewHeight` 是您想要设置的新的宽度和高度。请注意,`MoveWindow()` 函数将移动和调整对话框的大小。如果您只想调整对话框的大小而不移动它,请改用 `SetWindowPos()` 函数。
相关问题
mfc将dialog窗口设置为另外一个窗口的子窗口
要将MFC对话框窗口设置为另一个窗口的子窗口,可以按照以下步骤进行操作:
1. 打开MFC对话框工程,并在资源视图中找到要设置为子窗口的对话框。
2. 右键单击该对话框,并选择“属性”选项。
3. 在对话框属性窗口中,将“边框”属性设置为“无”。
4. 在代码中,使用以下语句将对话框窗口设置为父窗口的子窗口:
```cpp
m_pDlg->Create(IDD_DIALOG1, pParentWnd);
m_pDlg->ModifyStyle(WS_CAPTION, 0);
m_pDlg->SetWindowPos(NULL, x, y, cx, cy, SWP_NOZORDER);
```
其中,m_pDlg是对话框窗口的指针,pParentWnd是父窗口的指针,x、y、cx、cy是子窗口的位置和大小。
5. 最后,在父窗口的WM_CREATE消息处理函数中,添加以下代码:
```cpp
m_pDlg = new CMyDialog;
```
这样就可以将MFC对话框窗口设置为另一个窗口的子窗口了。
将activity设置成dialog样式如何设置窗口大小
要将Activity设置成Dialog样式并设置窗口大小,可以在Activity的onCreate()方法中调用以下代码:
```java
// 设置为Dialog样式
setTheme(android.R.style.Theme_DeviceDefault_Dialog);
// 设置窗口大小
WindowManager.LayoutParams params = getWindow().getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
getWindow().setAttributes(params);
```
其中,`android.R.style.Theme_DeviceDefault_Dialog`是系统提供的Dialog样式,可以根据自己的需求进行选择;`params.width`和`params.height`分别设置窗口的宽度和高度,这里设置的是宽度为MATCH_PARENT,高度为WRAP_CONTENT。你也可以根据自己的需求进行设置。