我以这种方式使用GetTitleBarInfo函数

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


但是没有一个GetTitleBarInfo返回值(所有值均为零),我缺少什么?

最佳答案

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;

关于delphi - GetTitleBarInfo函数不返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10594636/

10-09 16:49