ďťż

Ładny brzuch

W jaki sposób można dynamicznie stworzyć komponent (np tbutton)



Aby utworzyć przycisk, trzeba wywołać jego konstruktor - metodę Create:

procedure TForm1.FormCreate(Sender: TObject); var    przycisk: TButton; begin   przycisk:=TButton.Create(self); end;

Wyjaśnienia wymagają tu trzy rzeczy:

1. Utworzenie dynamiczne komponentu polega na podaniu typu (TButton) i wywołaniu metody (Create).
2. Konstruktor Create przycisku (lub ogólniej: komponentu) wymaga podania właściciela komponentu. Właścicielem tym będzie nasz formularz (to znaczy, że nasz formularz będzie prowadził w jego imieniu komunikację z systemem za pomocą wiadomości - o czym dalej, oraz zajmie się zwolnieniem zajmowanej pamięci przez komponent przy zamykaniu programu);
3. Self jest zmienną, która wskazuje na obiekt, którego deklaracja metody dotyczy. Obiektem tym jest obiekt typu TForm1. Wcześniej wspomnieliśmy, że po deklaracji typu, tworzona jest zmienna o nazwie Form1. Jeżeli chcesz, możesz w tym miejscu odwołać się do tej zmiennej, przez TButton.Create(Form1). Jest to trochę nieeleganckie rozwiązanie, gdyż w przypadku, gdybyś miał kilka takich samych formularzy (tego samego typu), wszystkie odnosiłyby się do tego jednego - do Form1. Self powoduje odwołanie się do tego, w którym aktualnie się znajdujemy (który własnie obsługuje tę metodę).

Więcej szczegółów tutaj: http://pl.wikibooks....omponent%C3%B3w
i tutaj:
http://www.google.pl...:Pl-PL:official
Użytkownik pawkow edytował ten post 15 luty 2006, 09:45
thx

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •