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ż: