我正在尝试在 MDI MainWindow 中创建一个子窗口...主窗口大小为 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;
}
... }