반응형
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CommCtrl;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
FHandle: HWND;
sel, cnt: integer;
begin
// Delphi IDE 의 콤포넌트 파레트의 선택 상태를 보여줍니다
FHandle := FindWindow('TAppBuilder', nil);
FHandle := FindWindowEx(FHandle, 0, 'TControlBar', nil);
FHandle := FindWindowEx(FHandle, 0, 'TDockPanel', nil);
FHandle := FindWindowEx(FHandle, 0, 'TComponentPaletteTabControl', nil);
cnt := SendMessage(FHandle, TCM_GETITEMCOUNT, 0, 0); // 탭갯수
sel := SendMessage(FHandle, TCM_GETCURSEL, 0, 0); // 선택한 탭 인덱스 번호
Memo1.Lines.Add(IntToStr(cnt)+' 개의 탭이 있습니다');
Memo1.Lines.Add(IntToStr(sel)+' 번째 탭이 선택되어 있습니다');
// 선택한 탭의 더 자세한 정보는 TCM_GETITEM 을 찾아보세요
end;
end.
반응형