De fapt, desen cu constructor

Acum, că aveți o idee despre cum funcționează, să terminăm exemplul pe care l-am început prin adăugarea de coduri pentru a atrage puncte atunci când mișcă mouse-ul în fereastră și pentru a opri procesul când utilizatorul eliberează în cele din urmă butonul stâng al mouse-ului. Deci, mai întâi codul pentru desen. Adăugați dispozitivul de manipulare pentru evenimentul OnMouseMove pe care deja îl cunoașteți. și adăugați următoarele linii:







void __fastcall TForm1 :: OnMouseMove (TObject * Expeditor, TShiftState Shift,

Această metodă utilizează un steag pe care l-am definit mai devreme pentru a indica dacă butonul mouse-ului este în prezent apăsat sau nu. Dacă este setat steagul, se va apela metoda Canvas-> LineTo. Această metodă trage o linie din poziția curentă în noua poziție a mouse-ului și face această nouă poziție curentă. Dacă vă aduceți aminte, poziția inițială a fost definită în metoda OnMouseDown. când butonul mouse-ului a fost apăsat în fereastră.







În cele din urmă, ultima metodă care trebuie executată este instrumentul de gestionare a evenimentului când butonul mouse-ului este eliberat. Această metodă ar trebui să elimine (adică, setată în FALSE) un steag care indică faptul că butonul mouse-ului este apăsat. Întrucât singura funcție posibilă este pur și simplu de a muta mouse-ul, aceasta va însemna sfârșitul procesului de desenare a punctelor în același timp.

Mai jos este codul pentru metoda OnMouseUp. pe care trebuie să-l adăugați la handler pentru evenimentul OnMouseUp (butonul mouse-ului este eliberat) în inspectorul de obiecte:

void __fastcall TForm1: OnMouseUp (TObject * Expeditor, buton Buton Buton,

TShiftState Shift, int X, int Y)







Trimiteți-le prietenilor: