AdjustWindowRectEx 可以根据窗口样式获取的边缘尺寸.
测试:
var
R: TRect;
begin
SetRect(R, 0, 0, 0, 0); {此矩形不是全局变量, 需要初始为空}
AdjustWindowRectEx(R, {矩形结构承载返回值}
GetWindowLong(Handle, GWL_STYLE), {窗口样式}
False, {有无菜单}
GetWindowLong(Handle, GWL_EXSTYLE) {窗口扩展样式}
);
ShowMessageFmt('%d,%d,%d,%d',[R.Left, R.Top, R.Right, R.Bottom]);
{结果是: -4,-30,4,4}
{说明窗口变宽是 4, 标题栏高度是 30}
{如果指定为有菜单; 结果是: -4,-50,4,4; 说明菜单高度是 20}
end;