GetTitleBarInfo函数不返回值

时间:2012-05-15 05:30:20

标签: delphi winapi

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

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

但GetTitleBarInfo没有返回值(所有值都为零),我缺少什么?

1 个答案:

答案 0 :(得分: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;