Delphi de bază de lucru cu un mouse

numai materiale utile

Acționarul principal al Alibaba a devenit cel mai bogat om din China
Articole

Microsoft a început testarea închisă a Office 16
Articole

Experții au găsit găuri de securitate în Windows 8.1
Articole

În metroul din Moscova va fi o rețea mobilă unificată
Articole

eBay va accepta Bitcoin
Articole

Vivitek a prezentat proiectorul "școală" D755WTIR
Articole

Butonul "Cumpărați" a apărut pe Twitter
Articole

"Yandex.News" poate fi acum vizualizat pe iPhone
Articole

Delphi de bază de lucru cu un mouse

În această lecție vom analiza principalele evenimente pentru care șoarecele răspunde și să învețe cum să realizeze anumite acțiuni atunci când apar aceste evenimente. Vreau doar să spun că lecția este proiectat pentru un public pe care tocmai a început să învețe Delphi, asa ca cere programatorii guru nu aruncă cu ouă stricate la mine și resturi de mere)))

Există trei servere principale de evenimente: OnMouseDown
onmousemove
onmouseup

Evenimentul MouseDown este declanșat când utilizatorul face clic pe butonul mouse-ului.
Evenimentul OnMouseUp este declanșat când utilizatorul eliberează butonul mouse-ului
Evenimentul OnMouseMove apare atunci când cursorul mouse-ului începe să se miște.

Cred că acum trebuie să înțelegi totul!

Să deschidem Delphi și să creăm un nou proiect. După ce apare noua formă, în inspectorul Obiect mergeți la fila Evenimente și găsiți acolo un handler de evenimente onMouseDown, faceți clic pe acesta de două ori. Ca rezultat, Delphi va crea procedura corespunzătoare:

procedura TForm1.FormMouseDown (expeditor: TObject; buton: TMouseButton;
Schimbare: TShiftState; X, Y: Integer);

După cum probabil ați observat deja că procedura are câțiva parametri, să examinăm câteva dintre ele în detaliu

Buton: TMouseButton; - indică faptul că putem determina ce buton al mouse-ului (stânga, dreapta) a fost apăsat.

Butonul TMouseButton poate lua valori de constante predefinite predefinite.
mbLeft - butonul stâng al mouse-ului
mbRight - butonul din dreapta al mouse-ului
mbMiddle este butonul din mijloc al mouse-ului.

Schimbare: TShiftState; - Cu acest parametru, putem combina acțiunea utilizatorului cu evenimentul tastaturii, acest lucru va fi discutat mai jos.

În cele din urmă, variabilele X și Y stochează coordonatele cursorului mouse-ului.

Să scriem următorul cod în manipulatorul evenimentului deja creat OnMouseDown:

Rulați proiectul, faceți clic pe formular. Prin urmare, cu fiecare clic, este redat un pătrat pe formular. Excelent!

Mergem mai departe, acum vom complica ușor codul și îl vom face astfel încât atunci când faceți clic pe butonul stâng al mouse-ului să desenați un cerc roșu și când faceți clic pe pătratul albastru drept.

caz Buton din
mbLeft:
începe
Canvas.Brush.Color: = clRed;
Canvas.Elipsa (x-20, y-20, x + 20, y + 20);
se încheie;
mbRight:
începe
Canvas.Brush.Color: = clBlue;
Canvas.Rectangle (x-20, y-20, x + 20, y + 20);
se încheie;
se încheie;

Puteți executa proiectul și puteți verifica rezultatul.

Deci, cu evenimentul OnMouseUp și OnMouseDown, cum ar fi ordonat, mergeți la evenimentul OnMouseMove. După cum am spus mai sus, evenimentul apare atunci când utilizatorul mișcă cursorul mouse-ului peste un anumit control.

Să creeze un handler onmousemove evenimente și va face acest lucru în cazul în care utilizatorul va ține apăsată tasta Shift de pe tastatură și pentru a muta mouse-ul în același timp, vom trage movilă funerară, iar dacă tasta Ctrl a fost prins și a făcut mișcarea mouse-ului vor fi vopsite dreptunghi.

Codul complet al procedurii este următorul:

procedura TForm1.FormMouseMove (expeditor: TObject;
Schimbare: TShiftState; X, Y: Integer);
începe
dacă ssShift în Shift apoi
Canvas.Elipsa (x-20, y-20, x + 20, y + 20)
altfel dacă ssCtrl în Shift apoi
Canvas.Rectangle (x-20, y-20, x + 20, y + 20);
se încheie;

Pe aceasta am tot ceea ce întâlnim în următoarea lecție.

Materiale conexe

Articole similare