Winapi c++窗口不小于

winapi c++ window not less than

本文关键字:不小于 窗口 c++ Winapi      更新时间:2023-10-16

我用c++创建了一个主窗口,我使用mingw

hwnd = CreateWindowExW(
        WS_EX_CLIENTEDGE,
        (LPCWSTR)szClassName,
        title,
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        1250,       // width
        700,        // height
        HWND_DESKTOP,
        NULL,
        hInstance,
        NULL
    );

这个窗口是相当大的,它是可以的。但是我怎样才能使一个窗口的宽度和高度都最小呢?我的意思是窗口不能小于,例如:500*500

处理WM_GETMINMAXINFO,示例代码:

LRESULT HandledWidget::onGetMinMaxInfo( WPARAM wParam, LPARAM lParam, bool &bHandled )
{
    MINMAXINFO* mmi = (MINMAXINFO*)lParam;
    bHandled = false;
    if (m_minWidth != -1) {
        bHandled = true;
        mmi->ptMinTrackSize.x = m_minWidth;
    }
    if (m_minHeight != -1) {
        bHandled = true;
        mmi->ptMinTrackSize.y = m_minHeight;
    }
    return 0;
}

处理WM_GETMINMAXINFO消息:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632626%28v=vs.85%29.aspx

在消息处理程序中,lParam指向MINMAXINFO结构,该结构包含POINT ptMinTrackSize成员。