Cursorul mouse-ului

Cursorul mouse-ului

De ce procedura
procedura TForm1.FormMouseDown (expeditor: TObject; buton: TMouseButton;
# xA0; Shift: TShiftState; X, Y: Integer);
începe
Cursor: = crGlass;






se încheie;
schimbă cursorul mouse-ului numai când MouseUp a sosit?
Vă mulțumim anticipat.


> Cursor: = crGlass;

Și dacă încerci să scrii
Screen.Cursor: = crGrămuș;


> De ce procedura
> procedura TForm1.FormMouseDown (Expeditor: TObject; Buton:
> TMouseButton;
> # xA0; Shift: TShiftState; X, Y: Integer);
> începe
> Cursor: = crGlass;
> sfârșit;
> modifică cursorul mouse-ului numai când MouseUp a sosit?

Aparent, unele erori în textele modulelor Delphi. Rețineți că cursorul se schimbă după eliberarea mouse-ului numai pentru butonul din stânga. Pentru mijloc și drept, se schimbă imediat.

> Și dacă încerci să scrii
> Screen.Cursor: = crGlass;

Ajută. Există o altă opțiune, mai complicată: pentru a suprascrie procesatorul de evenimente WM_LEFTBUTTONDOWN:






unitate 1;

utilizări
# xA0; Windows, Mesaje, SysUtils, Clase, Grafică, Controale, Formulare, Dialoguri;

tip
# xA0; TForm1 = clasa (TForm)
# xA0; privat
# xA0; # xA0; procedura OnLeftButtonDown (var Msg: TMsg); mesaj WM_LBUTTONDOWN;
# xA0; public
# xA0; # xA0;
# xA0; sfârșitul;

var
# xA0; Form1: TForm1;

procedura TForm1.OnLeftButtonDown (var Msg: TMsg);
începe
# xA0; Cursor: = crGlass;
se încheie;


> Aparent, unele erori în textele modulelor Delphi. plăti
> Rețineți că cursorul se schimbă după eliberarea numai a mouse-ului
> pentru butonul din stânga. Pentru mijloc și drept, se schimbă imediat.
>
>

Este greu o greșeală. Mai degrabă, problema este că butonul din stânga al standardului este strict folosit numai pentru acele comenzi care pot fi "clicate" sau "clicate". Dar cel corect (nu știu nimic despre cel de mijloc).

Apropo, există o diferență între aceste două opțiuni. Să presupunem că un buton TButton este plasat pe formular. Dacă utilizați Screen.Cursor: = crHurGlass, cursorul se va schimba atât deasupra formularului, cât și deasupra butonului. Dacă utilizați metoda de mai sus pentru a suprascrie manualul, cursorul se modifică numai peste formular, rămâne același deasupra butonului.


> Dar cel corect (nu stiu nimic despre cel de mijloc).

Aceasta este o roată a mouse-ului. De asemenea, pot face clic.

O roată este o roată. Nu există decât o atitudine mecanică față de butonul din mijloc.

Screen.Cursor: = crGrămuș; A ajutat. Mulțumesc tuturor.







Articole similare

Trimiteți-le prietenilor: