Jak zrobić w swoim programie okna właściwości i zdarzeń

jas_dream

Listę zdarzeń i właściwości stworzysz za pomocą niżej wymienionej procedury. Korzysta ona z biblioteki TypInfo.

uses TypInfo

{...}

procedure ObjectInspector(
  Obj   : TObject;
  Items : TStrings;
  Items2 : TStrings);
var
  n        : integer;
  PropList : TPropList;
  tekst : tedit;
  begin
  tekst := Tedit.Create(tekst);
  n := 0;
  GetPropList(
    Obj.ClassInfo,
    tkProperties + [ tkMethod ],
    @PropList );
  while( (Nil <> PropList[ n ]) and
         (n < High(PropList)) ) do
  begin
  tekst := Tedit.Create(tekst);
  tekst.Text := '';
  tekst.Text := PropList[ n ].Name;
  if (tekst.Text[1] + tekst.Text[2]) = 'On' then
   Items2.Add(
      PropList[ n ].Name + ': ' +
      PropList[ n ].PropType^.Name )
  else
    Items.Add(
      PropList[ n ].Name + ': ' +
      PropList[ n ].PropType^.Name );
    Inc( n );
  end;
end;

Zastosowanie:

ObjectInspector(ListBox1, ListBox1.Items, ListBox2.Items);

// ObjectInspector(1,2,3);
// 1 - objekt np. ListBox1 w którym mają być wyświetlane właściwości
// 2 - miejsce gdzie mają być wypisane właściwości
// 3 - miejsce gdzie mają być wypisane zdarzenia

Ciekawe demo jest zawarte wraz z apliacja Delphi w folderze:
%delphi%\Demos\AppEvents - za pomocą komponentu ApplicationEvents przedstawia aktualnie wykonywane zdarzenia.

Zobacz też:

FAQ

0 komentarzy