MDI 子窗口大小
MDI Child Window Size
我正在尝试在MDI主窗口中创建一个子窗口...主窗口的大小为 1024 x 768...当我尝试使用 CreateWindowEx() 创建一个子窗口时,大小似乎以某种方式偏移了......换句话说,1024 x 768 子窗口小于其父窗口...我如何解释这种差异?当我使用带有主窗口句柄的 GetCLientRect() 时...尺寸还是小...我不在乎使子窗口的大小相同。我希望子窗口包含 750x563 图像的确切大小。当我在 CreateWindowEx() 的参数中设置该大小时,子窗口太小了......
以下是我在 MainWndProc 中用于创建子窗口的代码:
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT Msg,
WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
switch(Msg)
{
case WM_CREATE:
{
//OnCreate(hWnd, NULL);
CLIENTCREATESTRUCT ccs;
ccs.hWindowMenu = GetSubMenu(GetMenu(hWnd), 2);
ccs.idFirstChild = StartChildrenNo;
hWndChildFrame = CreateWindowEx(WS_EX_CLIENTEDGE,
L"MDICLIENT",
NULL,
WS_CHILD | WS_CLIPCHILDREN | WS_VSCROLL
| WS_HSCROLL | WS_VISIBLE,
0,
0,
1024,
768,
hWnd,
(HMENU)IDM_FILE_NEW,
GetModuleHandle(NULL),
(LPVOID)&ccs);
if(hWndChildFrame == NULL)
MessageBox(hWnd, L"Could not create MDI client.", L"Error", MB_OK | MB_ICONERROR);
CreateNewMDIChild(hWndChildFrame);
return 0;
}
。}
-
若要确定 MDI 子窗口的大小,请使用 MDI 客户端窗口
GetClientRect()
。 -
若要计算 MDI 子窗口所需的窗口大小,请使用
AdjustWindowRect()
或AdjustWindowRectEx()
。这些可以在窗口和客户端大小之间转换。
相关文章:
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何设置与其背景图像大小相对应的窗口大小?
- 如何防止opengl绘图拉伸到窗口大小?
- 使用 Win32 将 GDI 绘制大小缩放为窗口大小
- 恢复Qt窗口大小和位置问题
- 与WM_DPICHANGED消息一起发送的建议窗口大小太大
- 快板获取当前窗口大小
- 当窗口大小更改时,如何自动缩放QT中的图表
- 尝试在 win 32 中禁用窗口大小调整时,窗口样式行为不一致
- OpenGL纹理闪烁/有时在窗口大小上移动
- QGraphics手动调整窗口大小后场景宽度/高度没有变化
- Qt - 防止在拖动标题栏时调整窗口大小
- 在 Direct2D 绘图中,调整窗口大小后尺寸会更改
- 在窗口大小上绘制的OpenGL消失
- XDG-Shell:如何更改窗口大小
- WinAPI.检查窗口大小调整是否已完成
- Win32 透明全屏仅在窗口大小溢出桌面时才有效
- 如何设置启用setFixize后再次调整主窗口大小
- C ,QT,防止窗口大小大于实际布局高度
- MDI 子窗口大小