在主框架窗口的窗口过程的 WM_CREATE 消息的响应中,创建了状态栏和 MDIClient 窗口,但是用 spy++ 探查的时候, MDIClient 窗口的范围包括了状态栏,但是用 AppWizard 创建的 多文档 窗口中,MDIClient 窗口是不包括状态栏窗口的。
高手解释一下,问题的原因,如何才能实现用 Appwizard 创建的多文档主窗口的 MDIClient 窗口的范围不包括状态栏的范围。
分不够,可以另开贴再加代码如下:
创建主窗口
hWndFrame = CreateWindow(
szFrameClass,
szAppName,
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
hMenuFrame,
hInst,
NULL);
主窗口的过程函数中:
case WM_CREATE: // Create the client window
clientcreate.hWindowMenu = hMenuFrame;
clientcreate.idFirstChild = ID_FIRSTCHILD;
GetClientRect(hWnd, &rect);
tmp = hWndClient = CreateWindowEx(0,
TEXT("MDICLIENT"),
NULL,
WS_CHILD | WS_CLIPCHILDREN | WS_VISIBLE,
0, rect.bottom/5, rect.right, rect.bottom/5*4,
hWnd,
NULL,
hInst,
(PSTR)&clientcreate);
ShowWindow(hWndClient, SW_SHOW);

// Create Status Bar
hWndStatusbar = CreateWindow(STATUSCLASSNAME,
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER,
0, 0, 0, 0,
hWnd,
NULL,
hInst,
NULL);
break;