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 に答える