我用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。
答案 0 :(得分:3)
处理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;
}
答案 1 :(得分:2)
处理WM_GETMINMAXINFO消息:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632626%28v=vs.85%29.aspx
在邮件处理程序中,lParam
指向MINMAXINFO
结构,其中包含POINT ptMinTrackSize
成员。填充所需的尺寸。