Borland C++ Builder 6 tizimi


Download 0.69 Mb.
bet17/17
Sana05.01.2022
Hajmi0.69 Mb.
#202787
1   ...   9   10   11   12   13   14   15   16   17
Bog'liq
mustaqil ish

OnEnter hodisasi boshqaruv elementlari fokus olgansda yuz beradi ( sichqoncha yoki tugmasi yordamida)
OnExit hodisasi darcha boshqaruv elementi fokusni yuqotganda yuz beradi .
Boshqaruv elementi fokus olgandagi yoki fokusni yuqotgandagi hodisalarni qayta - ishlash proceduralari:

Procedure TForm1.Edit1.Enter(Sender:TObject);


Begin
Label5.Caption:=(Sender as TControl).Name +'aktivlashdi');
End;
Procedure TForm1.Edit1.Exit(Sender:TObject);
Begin
Label5.Caption:=TEdit(Sender).Name + ' aktiv emas');
End;

Label5 yozuvi sarlohasida Edit1 tahririning aktivligi yoki aktiv emasligi aniqlanadi . Bu yerda Name xossasiga murojaat ikki xil usulda amalga oshirilgan . Birinchi protsedurada Sender parametri oshkormas ravishda TControl turiga olib kelingan bo'lsa ,ikkinchi protsedurada Sender oshkor ravishda TEdit turiga keltirilgan .


Drag - and - Drop ( ko'chirish va qoldirish ) texnalogiyasi foydalanuvchiga turli ob'ektlar ko'chirish imkoniyatini beradi , masalan , bitta ruyhat elementlarini ikkinchisiga ko'chirish . Bunda ikkita boshqaruv elementi ishlatiladi : Manba va qabul qiluvchi
Manba ko'ruvchi obektni o'z ichga olsa, qabul qiluvchiga esa ko'chiriluvchi obektni oluvchi boshqauv elementlari hisoblanadi. Obektlarni ko'chirish bilan qo'yidagi hodisalar bog'langan:
OnStartDrag hodisasi manba tomonidan obektni ko'chirish boshlanganda yuzaga keltiriladi. Hodisani qayta -ishlovchisiga qo'yidagilar beriladi: obekt - manba Sourse (Tobject turida) va ko'chirish amali adresati - DragObjecr (TDragObject turida).
OnDragOver (TDragOverEvenf turida) hodisasi qabul qiluvchi tomonidan ko'chirilayotgan
obekt uning ustida bo'lganda yuzaga keltiriladi. Hodisa qayta ishlovchisiga qo'yidagi parametrlar
uzatiladi: Sender - obekt manba Sender - obekt qabul qiluvchi sichqoncha ko'rsatkichini X va Y
koordinatalari State- ko'chirish holati va ko'chirish amalini tasdiqlovchi Boolean turidagi Accept turidagi . State parametri ko'chiriluvchi obekt qabul qiluvchi sohasiga kirdimi, bu sohada u harakatlanmoqdami, uni bari etgin yoki yo'qligini bildiradi. Uzatilgan parametrlar taxlili Qabul qiluvchi ko'chirish amalini qabul qilish yoki inkor qilish (Accert=False) imkonini beradi.
OnDragdrop (TDragOverEvenf turida) hodisasi qabul qiluvchi tomonidan obekt unga
joylashtirilganda ro'y beradi. Hodisa qayta - ishlovchisiga qo'yidagi ma'lumotlar jo'natiladi; Sourse - joylashuvchi obekt, Sender - Qabul qiluvchi obekt, X va Y - sichqancha ko'rsatkich ikoordinatalari.
OnEndDrag hodisasi manba tomonidan ko'chirish amali tugaganda hosil qilinadi. Hodisa qayta - ishlovchisiga Target - Qabul qilgan obekt, Sender ko'chirilgan obekt va unuig yangi X , Y koordinatalari.
Eslatib utish kerakki, OnDragDrop va OnDragOver hodisalari uchun Sender manba,
OnEndDrag hodisasi uchun Sender - ko'chiriluvchi obekt.
Ko'chirishni amalga oshirish uchun ko'rsatilgan hodisalarning qayta - ishlovchisini ( prosedurasini) yoish kerak. Odayda OnDragDrap va OnDragOver hodisalarini qayta ishlash etarli.
Ko'chiriluvchi obektning DragMode xossasiga dmAvtomatic qiymatini berush zarur . Bunda kuchirish amali avtomatik ravishda amalga oshadi, aks xolda pragrammaviy yo'l bilan Begin Drag metodini chaqirish kerak bo'ladi.
Misol Lavil1 yozuvini formula chegarasida kuchirishi .
// Label1 . yozuvi=DragMode xossasiga dmAvtomatic qiymatini berish kerak .
Procedure TForm1. FormDragOver(SenderSourse: Tobject:X,Y: Integer; State: TDargState: Var Accept:Boolean);
Begin
If Sourse=Lable1 then Accept :=then else Accept:=False;
end;
Procedure TForm1.FormDragDrop(Sender, Sourse:Tobject ; X,Y:Integer);
Begin
Label1.Left:=X ; Label1.top:=Y;
end;

Qo'yidagi misolda kompanentaning tanlangan elementlarini ko'chirishga misol keltirilgan.


Misol. Ro'yxat elementlarini bir ro'yhatdan ikkinchisiga ko'chirish
// ListBox1 ro'yhati= DragMode hossasining qiymati dnAutomatic berish kerak.
Procedure TForm1.ListBox2DragOver(Sender, Sourse: Tobject; X,Y:Integer; State:TDragState; Var Accept:Boolean);
Begin
if Sourse=ListBox1 the Accept:=True else Accept:=False;
end;

Download 0.69 Mb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   17




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling