0

我在 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。

4

2 回答 2

4

处理 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;
}
于 2013-04-03T06:23:42.963 回答
2

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

在消息处理程序中,lParam指向MINMAXINFO包含POINT ptMinTrackSize成员的结构。用所需的大小填充它。

于 2013-04-03T06:23:08.063 回答