Mfc WM_GETMINMAXINFO似乎不起作用。如何获得窗口';s最小和最大可能尺寸?

Mfc WM_GETMINMAXINFO似乎不起作用。如何获得窗口';s最小和最大可能尺寸?,mfc,window,size,max,minimum,Mfc,Window,Size,Max,Minimum,我正在使用MFC。我有一个自定义对话框,它是从应用程序的资源文件(使用VisualStudio6对话框设计器设计)创建的,我需要从中获取最小/最大信息。我做了以下工作: MINMAXINFO minMaxInfo; LRESULT lresult = m_wnd->SendMessage(WM_GETMINMAXINFO, 0, (LPARAM)&minMaxInfo); 值“lresult”为0,表示该消息已由应用程序处理。但是,minMaxInfo结构中没有填充有意义的值 上

我正在使用MFC。我有一个自定义对话框,它是从应用程序的资源文件(使用VisualStudio6对话框设计器设计)创建的,我需要从中获取最小/最大信息。我做了以下工作:

MINMAXINFO minMaxInfo;
LRESULT lresult = m_wnd->SendMessage(WM_GETMINMAXINFO, 0, (LPARAM)&minMaxInfo);
值“lresult”为0,表示该消息已由应用程序处理。但是,minMaxInfo结构中没有填充有意义的值

上面的代码有bug吗?有没有其他方法可以从对话框中获取最小/最大信息

我不想自己处理MINMAXINFO消息。

根据MSDN:

当窗口的大小或位置即将更改时发送到窗口。应用程序可以使用此消息覆盖窗口的默认最大大小和位置,或其默认的最小或最大跟踪大小

因此,由于它没有经过重新调整大小,因此信息不存在

编辑:

如果您签出,您将看到Windows在发送消息之前使用默认值初始化结构。消息的默认处理程序将保持这些值不变;我猜你自己从来没有初始化过这些值,这就是为什么你没有看到有意义的值

这可能是因为消息没有达到您认为的效果,而且无论如何也不会有用。当我有一个可调整大小的对话框时,我将一个
GetWindowRect
放在我的
OnInitDialog
中,并将其保存为窗口的最小大小。我从未觉得有必要限制最大尺寸