gpt4 book ai didi

c++ - 设置 MINMAXINFO 在 X 上偏移 4 像素,在 Y 上偏移 5 像素

转载 作者:行者123 更新时间:2023-11-30 18:03:45 25 4
gpt4 key购买 nike

我像这样处理 MINMAXINFO:

 case WM_GETMINMAXINFO:
{
LPMINMAXINFO p_info = (LPMINMAXINFO)lParam;
int total_border_width = 2 * GetSystemMetrics( SM_CXFRAME );
int total_border_height = 2 * GetSystemMetrics( SM_CYFRAME ) +
GetSystemMetrics( SM_CYCAPTION ) - GetSystemMetrics( SM_CYBORDER );
POINT min,max;

min.x = d->min_w > 0 ? d->min_w + total_border_width : p_info->ptMinTrackSize.x;
min.y = d->min_h > 0 ? d->min_h + total_border_height : p_info->ptMinTrackSize.y;
max.x = d->max_w > 0 ? d->max_w + total_border_width : p_info->ptMaxTrackSize.x;
max.y = d->max_h > 0 ? d->max_h + total_border_height : p_info->ptMaxTrackSize.y;

p_info->ptMinTrackSize = min;
p_info->ptMaxTrackSize = max;
}

break;

它设置的分辨率在 X 方向上始终比我想要的少 4 个像素,在 Y 方向上比我想要的少 5 个像素。执行 + 4 和 + 5 可以修复它,但这似乎是一个糟糕的主意。我是不是做错了什么?

谢谢

最佳答案

取决于您使用的框架类型。您可能需要单独考虑边框的 3D 元素,例如 SM_CXEDGE。如果它是 3D 客户端框架,则客户端区域可能有一个您未考虑到的边缘。

关于c++ - 设置 MINMAXINFO 在 X 上偏移 4 像素,在 Y 上偏移 5 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8044305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com