TControl класында тышқанды басқарғанда өрбитін оқиғалар анықталған.
property OnClick:TNotifyEvent;
Басқару элементін тышқан арқылы таңдағанда өрбитін оқиға (тышқанның көрсеткіші басқару элементінің үстінде орналасқанда тышқанның сол жақ пернесі басылады және босатылады).
property OnDblClick:TNotifyEvent;
Басқару элементіне тышқанның сол жақ пернесімен екі рет шерткенде өрбитін оқиға.
property OnMouseDown:TMouseEvent;
Тышқанның көрсеткіші басқару элементінің үстінде тұрғанда, тышқанның пернесі басылғанда өрбитін оқиға. Оқиғаны өңдеу типі TMouseEvent:
type
TMouseEvent = procedure(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X,Y:Integer) of object;
мұндағы Sender – оқиға болған құрауышқа нұсқайтын параметр;
type
TMouseButton = (mbLeft, mbRight, mbMiddle);
Button параметірінің мәні тышқанның қай батырмасы басылғанын анықтайды (mbLeft – сол жақ, mbRidht – оң жақ , mbMiddle - ортаңғы); Shift – пернетақтаның Alt, Ctrl және Shift пернелерінің және тышқанның пернесінің күйін қадағалайды (жоғарыдағы OnKeyDown оқиғасын қараңыздар); X,Y – Sender құрауышының клиенттік аймағындағы тышқанның көрсеткішінің жергілікті координаталары (пиксельмен беріледі).
property OnMouseMove:TMouseMoveEvent;
Тышқанның көрсеткіші басқару элементінің үстінде орналасқан кезде, оны жылжытқанда өрбитін оқиға. Оқиғаны өңдеу типі TMouseMoveEvent:
type
TMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState; X,Y:Integer) of object;
Параметлері OnMouseDown оқиғасындағы сияқты мағынаны береді.
property OnMouseUp:TMouseEvent;
Тышқанның көрсеткіші басқару элементінің үстінде орналасқан кезде, тышқанның пернесін босатқанда өрбитін оқиға. Оқиғаны өңдеу типі TMouseEvent (жоғарыдағы OnMouseDown оқиғасын қараңыздар).
Мысал 3.3.1 Бұл мысал пішінде төрт панелі бар StatusBar1 (Win32 парағы) қалып – күй жолының болуын талап етеді. . Панельді қосу үшін қалып – күй жолының Panels қасиетінің мәндер өрісінің үш батырмасына шерту арқылы Editing StatusBar1.Panels терезесін шақырыңыздар. Редактірлеу терезесінің басқару панельінің Add New батырмасына төрт рет шертіңіздер. (Мысалды орындамас бұрын әрбір панельдің Width қасиетіне 150 мәнін орнатыңыздар). Қолданушы тышқанның батырмасына басқанда, тышқанды жылжытқанда және тышқанның батырмасын босатқанда пішінде тіктөртбұрыш тартылады. Тышқанның батырмасы босатылғанда тіктөртбұрыш пішіннің канвасында пайда болады. Оның сол жақ жоғарғы және оң жақ төменгі бұрыштары тышқанды басқан және босатқан уақыттағы тышқанның көрсеткішінің орналасуымен анықталады. Қолданушы тышқанды жылжытқанда тіктөртбұрыштың сол жақ жоғарғы (Left, Тор) және оң жақ төменгі (Right, Bottom) бұрыштарының координаталары қалып –күй жолында бейнеленеді. Горизонталь осьі солдан оңға қарай жүреді. Вертикаль ось – жоғарыдан төмен қарай бағытталады. Осьтер тек қана оң мәндерден тұрады.
var
StartX, StartY: Integer; {Пішіннің модульінің интерфейс бөлімінде жариялайды}
{Бұл кодты пішіннің OnMouseDown оқиғасының өңдеуіші ретінде қолданыңыздар: }
procedure TForm1.FormMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
StartX := X;
StartY := Y;
end;
{ Бұл кодты пішіннің OnMouseUp оқиғасының өңдеуіші ретінде қолданыңыздар: }
procedure TForm1.FormMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
Form1.Canvas.Rectangle(StartX, StartY, X, Y);
StatusBar1.Panels[0].Text := '';
StatusBar1.Panels[1].Text := '';
StatusBar1.Panels[2].Text := '';
StatusBar1.Panels[3].Text := '';
end;
{ Бұл кодты пішіннің OnMouseMove оқиғасының өңдеуіші ретінде қолданыңыздар: }
procedure TForm1.FormMouseMove(Sender: TObject;
Shift: TShiftState; X,Y: Integer);
begin
if ssLeft in Shift then { батырманың басылғанын тексеріңіздер }
begin
if Y > StartY then
begin
StatusBar1.Panels[0].Text := 'Top: ' + IntToStr(StartY);
StatusBar1.Panels[2].Text := 'Bottom: ' + IntToStr(Y);
end
else
begin
StatusBar1.Panels[0].Text := 'Top: ' + IntToStr(Y);
StatusBar1.Panels[2].Text := 'Bottom: ' + IntToStr(StartY);
end;
if X > StartX then
begin
StatusBar1.Panels[1].Text := 'Left: ' + IntToStr(StartX);
StatusBar1.Panels[3].Text := 'Right: ' + IntToStr(X);
end
else
begin
StatusBar1.Panels[1].Text := 'Left: ' + IntToStr(X);
StatusBar1.Panels[3].Text := 'Right: ' + IntToStr(StartX);
end;
end;
end;
Зертханалық жұмыс №8 “TForm объектісі” -
Жаңа жоба құрыңыздар. Пішінге тақырып беріңіздер "Лабораторная работа №8, Фамилия Имя". Жеке каталогқа жобаны сақтаңыздар.
-
Пішіннің өлшемін 500 де 400 пиксельге және орнын экранның центрі бойынша орнатыңыз.
-
Пішінге өзіңіздің фирмалық иконыңызды орнатыңыз. Осы иконканы қосымшаға да орналастырыңыздар. (Қосымшаны көріңіздер).
-
Пішінге "Моя формочка" деген көмекші кеңесті орнатыңыздар. Көмекші кеңестің түсіне қошқыл жасыл түс беріңіздер. (clLime).
-
Тышқанның көрсеткішін пішіннің үстімен жылжыту кезінде, ол өз түсін бұрыштардағы мәндерге байланысты баяу өзгерту керек: сол жақтағы жоғарғы бұрыштың түсі - қара, сол жақтағы төменгі бұрыштың түсі - көгілдір, оң жақтағы жоғарғы - қызыл, оң жақ төменгі - ақ. Ctrl-Alt-C басу арқылы осы режимді қосуға/өшіруге болады.
-
Тышқанның екі рет шертілгенде немесе Alt-X батырмаларының комбинациясына немесе F10 батырмасына басқанда пішін жабылады (рұқсат сұрату арқылы).
-
Бағыттары көрсетілген пернелерге басқанда пішін жылжиды (экранның шекарасында).
-
Тышқанның оң жақ батырмасына басқанда пішін жан – жағынан 5 пиксельге кішірейеді. Тышқанның оң жақ батырмасы мен Shift пернесіне басқанда пішін жан – жағынан 5 пиксельге үлкейеді.
Өздіктеріңнен.
-
Пішіннің өлшемі өзгергенде шертпенің дыбысы шығады, ал өлшемнің өзі экранның төменгі жағындағы минимизация терезесінде көрсетіледі.
-
Тышқанның ортаңғы батырмасына немесе екі шеткі батырмаларына басқанда пішін тышқанның көрсеткішінің нұсқағышына байланысты центрленеді.
Қосымша.
-
Beep(0) процедурасы қысқа дыбыстық дабылды шақырады.
-
RGB(r,g,b) функциясы r,g,b (от 0 до 255) параметрінің мәніне байланысты қызыл, жасыл және көк түстердің реттік нөмірін қайтарады.
-
Application объектісі бағдарламаның маңызды қасиеттері мен әдістерін инкапсуляция жасайды Application объектісінің кейбір қасиеттері:
HintColor
|
Оперативті көмекші кеңестің таңбашасының түсі.
|
HintHidePause
|
Көмекші кеңестің таңбашасы пайда болып және жоғалғанға дейін миллисекунд тұратын үзіліс.
|
Icon
|
Минимизацияланған бағдарлама батырмасының пиктограммасы.
|
Title
|
Минимизацияланған бағдарлама батырмасындағы мәтін.
| -
Screen объектісі ДК экранының жұмысын жеңілдететін маңызды қасиеттер мен әдістерден тұрады. Screen объектісінің кейбір қасиеттері:
Fonts
|
Барлық экрандық қаріптердің тізімі.
|
Height, Width
|
Экранның ұзындығы мен ені.
|
IconFont
|
Минимизацияланған бағдарлама батырмасының мәтінінің қаріпі.
|
PixelsPerInch
|
Пиксельден дюмге өтетін экранның рұқсат беретін қабілеті.
|
Достарыңызбен бөлісу: |