请问如何用win32api实现MFC里的"CenterWindow"函数的功能?
CenterWindow的功能就是使窗体居中显示,因为我最近用win32sdk编程,要用到这个功能。我查看MFC里CenterWindow的源代码,如下:
void CWnd::CenterWindow(CWnd* pAlternateOwner)
{
ASSERT(::IsWindow(m_hWnd));
// determine owner window to center against
DWORD dwStyle = GetStyle();
HWND hWndCenter = pAlternateOwner->GetSafeHwnd();
if (pAlternateOwner == NULL)
{
if (dwStyle & WS_CHILD)
hWndCenter = ::GetParent(m_hWnd);
else
hWndCenter = ::GetWindow(m_hWnd, GW_OWNER);
if (hWndCenter != NULL)
{
// let parent determine alternate center window
HWND hWndTemp =
(HWND)::SendMessage(hWndCenter, WM_QUERYCENTERWND, 0, 0);
if (hWndTemp != NULL)
hWndCenter = hWndTemp;
}
}
}
上述代码用win32api改写时基本无问题,但"WM_QUERYCENTERWND"这个是MFC里定义的,win32sdk里找不到,所以想请教高手该如何解决。