ПредишенСледващото

Само полезни материали

Основен акционер в Alibaba стана най-богатият човек в Китай
статии

Microsoft започна тестване частен офис 16
статии

Експертите са установили, вратички в Windows 8.1 за сигурност
статии

В метрото в Москва ще бъде единна мобилна мрежа
статии

иБей ще приема Bitcoin
статии

Vivitek въведе "училище" проектор D755WTIR
статии

В Twitter е имало бутона "Купи"
статии

"Yandeks.Novosti" вече могат да се видят на iPhone
статии

Delphi основи на работа с мишка

В този урок ще разгледаме основните събития под ръководството на мишката, и да научат как да се извърши определени действия при възникване на тези събития. Просто искам да кажа, че урокът е предназначен за аудитория, която току-що бе започнал да се учи Делфи, така че попитайте гуру програмисти не хвърляйте развалени яйца към мен и отпадъци от ябълки)))

Има три основни събития-манипулатор: OnMouseDown
OnMouseMove
OnMouseUp

MouseDown събитие - задейства, когато потребителят кликне на бутона на мишката.
OnMouseUp събитие - задейства, когато потребителят освободи бутона на мишката
OnMouseMove събитие - възниква в момент, когато курсора на мишката започва да се движи.

Мисля, че толкова дълго, колкото всичко, което трябва да е ясно!

Да отворим Delphi и създаване на нов проект. След като нова форма, обектът inspector'e преместите раздел Събития (събития) и да намерят там на onMouseDown събитието, кликнете върху него два пъти. В резултат на това ще се създаде Delphi всяка подходяща процедура:

процедура TForm1.FormMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: цяло число);

Както вероятно вече сте забелязали процедура има няколко параметри, нека разгледаме някои от тях по-подробно

Button: TMouseButton; - това показва, че можем да определим какво (десен ляво) е бил натиснат бутона на мишката.

TMouseButton могат да вземат стойностите вече предварително дефинирани константи.
mbLeft - левия клавиш на мишката
mbRight - десния бутон на мишката
mbMiddle - средния бутон на мишката.

Shift: TShiftState; - използване на тази възможност, ние можем да комбинираме действието на потребителя със събитието клавиатура, това ще бъде обсъдено по-долу.

Най-накрая в променливи х и у координати на курсора на мишката се съхраняват.

Нека сега са създали по-рано събитие манипулатор OnMouseDown предписват следния код:

Изпълнете проекта, кликнете върху формата. В резултат на това с всеки клик, квадрат, съставен във формуляра. Отличен!

Преминавайки, сега е малко по-сложен кода и да го направи, така че би било, когато щракнете с левия бутон на мишката, ние снимката червен кръг, а когато щракнете с десния син квадрат.

При бутон на
mbLeft:
започвам
Canvas.Brush.Color: = clRed;
Canvas.Ellipse (х-20, Y-20, х + 20, у + 20);
приключи;
mbRight:
започвам
Canvas.Brush.Color: = clBlue;
Canvas.Rectangle (х-20, Y-20, х + 20, у + 20);
приключи;
приключи;

Можете да стартирате проекта, както и проверка на резултата.

Така че със събитието и OnMouseUp OnMouseDown като разбрах, ние се връщаме към събитието OnMouseMove. Както споменах по-горе събитие се случва, когато потребителят премести курсора на мишката върху един или друг контрол.

Нека създадем манипулатор OnMouseMove събития и ще го направи, ако потребителят би задръжте натиснат клавиша Shift от клавиатурата и преместете мишката, като в същото време ще се направи могила, а ако Ctrl ключ е била притисната и направи движение на мишката ще бъдат боядисани правоъгълник.

Пълен процесуален кодекс е както следва:

процедура TForm1.FormMouseMove (Sender: TObject;
Shift: TShiftState; X, Y: цяло число);
започвам
ако ssShift в Shift след това
Canvas.Ellipse (х-20, Y-20, х + 20, у + 20)
иначе, ако ssCtrl в Shift след това
Canvas.Rectangle (х-20, Y-20, х + 20, у + 20);
приключи;

На тази имам всички се срещат в следващия урок.!

Още по темата

Свързани статии

Подкрепете проекта - споделете линка, благодаря!