1

我正在GetTitleBarInfo以这种方式使用该功能

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

但是没有一个 GetTitleBarInfo 返回值(所有值都为零),我错过了什么?

4

1 回答 1

10

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;
于 2012-05-15T05:32:01.447 回答