Delphi GetTitleBarInfo函数不使用';t返回值

Delphi GetTitleBarInfo函数不使用';t返回值,delphi,winapi,Delphi,Winapi,我以这种方式使用GetTitleBarInfo函数 procedure TForm1.Button1Click(Sender: TObject); var TitleInfo : TTitleBarInfo; begin ZeroMemory(@TitleInfo, SizeOf(TitleInfo)); GetTitleBarInfo(Handle, TitleInfo); ShowMessage(IntToStr(TitleInfo.rcTitleBar.Left

我以这种方式使用
GetTitleBarInfo
函数

procedure TForm1.Button1Click(Sender: TObject);
var
  TitleInfo       : TTitleBarInfo;
begin
  ZeroMemory(@TitleInfo, SizeOf(TitleInfo));
  GetTitleBarInfo(Handle, TitleInfo);
  ShowMessage(IntToStr(TitleInfo.rcTitleBar.Left));
end;
但是没有一个GetTitleBarInfo返回值(所有值都为零),我缺少什么?

函数的文档说明了必须将cbSize成员设置为的状态 sizeof(TTitleBarInfo)在调用此函数之前,还必须检查该函数返回的布尔结果

procedure TForm1.Button1Click(Sender: TObject);
var
  TitleInfo       : TTitleBarInfo;
begin
  ZeroMemory(@TitleInfo, SizeOf(TitleInfo));
  TitleInfo.cbSize:=SizeOf(TitleInfo);
  if GetTitleBarInfo(Handle, TitleInfo) then
   ShowMessage(IntToStr(TitleInfo.rcTitleBar.Left));
end;
函数的文档说明必须将cbSize成员设置为 sizeof(TTitleBarInfo)在调用此函数之前,还必须检查该函数返回的布尔结果

procedure TForm1.Button1Click(Sender: TObject);
var
  TitleInfo       : TTitleBarInfo;
begin
  ZeroMemory(@TitleInfo, SizeOf(TitleInfo));
  TitleInfo.cbSize:=SizeOf(TitleInfo);
  if GetTitleBarInfo(Handle, TitleInfo) then
   ShowMessage(IntToStr(TitleInfo.rcTitleBar.Left));
end;

如果您正在检查
GetTitleBarInfo()
的返回值,您将能够捕获它,因为它将返回
FALSE
。如果您正在检查
GetTitleBarInfo()
的返回值,您将能够捕获它,因为它将返回
FALSE