Bazându-se pe panza (tcanvas) panoul (tpanel) în Delfi, asd-moale

Buna ziua dragi colegi!

Cum să picteze pe pânză componente TCanvas TPanel - o întrebare la care voi încerca să răspund în acest articol.
Este cunoscut faptul că nu TPanel componentă vă permite să atragă pe panza sa, dar există o cale în jurul valorii de această limitare ...

TPanel componentă ca clasa părinte utilizează TCustomControl. care prezintă o proprietate pânză și procedura de vopsea. Ambele dintre ele sunt în secțiunea protejate. ceea ce înseamnă că nu se poate utiliza în mod direct, dar putem avea acces la clasa copilului.

Vom crea o clasă personalizată moștenească de la TPanel standard:

Oferă proprietatea Pânză în secțiunea de public pe care le-ar putea folosi pentru a crea o instanță a acestei clase.
Înlocuiți metoda Paint virtuale.
Și adăugați evenimentul OnPaint. care va fi numit în vopsea metoda. care, la rândul său, a declanșat atunci când redesenare componente.

Secțiunea de punere în aplicare va descrie metoda Paint:

dacă este atribuit (FOnPaint), apoi - în cazul atribuirii evenimentului OnPaint. apoi îl numesc ei înșiși (auto cuvinte cheie), care trece ca un parametru.

După pornire se poate vedea cercurile pictate pe panoul:

Bazându-se pe panza (tcanvas) panoul (tpanel) în Delfi, asd-moale

exemple de cod sursă poate fi descărcat de aici: drawpanel.rar

← termen de hârtie „Travel Agency» (MSAccess + Delphi) (Partea 3)

Crearea propriului asistent (ajutor) pentru tipurile sau clase din Delphi. →