c++ - C++ WM_SIZE用于最小应用程序大小

  显示原文与译文双语对照的内容
0 0

我试图使用WM_SIZE事件强制应用程序具有最小的大小,代码:


 case WM_SIZE:
 int nWidth;
 int nHeight;
 int _dWidth;
 int _dHeight; 
 _dWidth = 870;
 _dHeight = 510; 
 nWidth = LOWORD(lParam);
 nHeight = HIWORD(lParam);
 if (nWidth <= _dWidth){
 return 0;
 }
 else if (nHeight <= _dHeight) {
 return 0;
 }

显然,如果应用程序仍然可以更小,但在应用程序可以调整大小的时候,应该返回 0.?

时间: 原作者:

0 0

处理该问题的正确方法是为 WM_GETMINMAXINFO消息实现一个处理程序。

收到消息时,你可以填写结构的字段以提供窗口的最小和最大可以接受大小。 窗口管理器与用户交互时,这些限制将被正确地处理。

WM_SIZE 指的是一个定向的收费通知,而不是你可以与之协商的。 你将只需使布局或者窗口内容无效。

原作者:
...