Mirsaid Aripov, Nurillo Otaxanov



Download 9,81 Mb.
bet186/209
Sana16.01.2022
Hajmi9,81 Mb.
#371485
1   ...   182   183   184   185   186   187   188   189   ...   209
Bog'liq
DELPHI dasturlash titli 2018

Drag-and-Drop. Bu bor-yo`g’i ikki komponentani bir-biri bilan bog’lash vositasi bo`lib, bajaradigan amali dasturchi fantaziyasi va qo`yilgan masalaga bog’liq bo`ladi.

Drag-and-Drop mexanizmi to`laligicha bazaviy TControl klassida amalga oshirilgan. Uning mohiyatini ko`rib chiqaylik.

Delphi ning qurollar palitrasidagi ixtiyoriy boshqaruv elementi Drag-and-Drop mexanizmida manba bo`la oladi. Uning hulqi olib o`tishning boshlang’ich davrida

type TDragMode = (dmManual, dmAutomatic); 

property DragMode: TDragMode;

hususiyatining qiymatiga bog’liq bo`ladi. DmAutomatic qiymati komponentaning sichqoncha tugmasini bosilishi va olib o`tish jarayonining boshlanishini ta`minlaydi. Bunda mexanizm mustaqil ravishda ishga tushadi.



DmManual qiymati mexanizmni “qo`lda” ishga tushirishni ta`minlaydi. Bu rejimdan sichqoncha tugmasining bosilishiga komponenta odatdagidan boshqacha javob berishiga to`g’ri kelganda foydalanish mumkin. Olib o`tish mexanizmini initsializatsiya qilish uchun

procedure BeginDrag(Immediate: Boolean; Threshold: Integer = -1);

metodi yordam beradi. Bu yerdagi immediate=True parametri mexanizmni shu zahotiyoq ishga tushishini ta`minlaydi. Agar False bo’lsa, mexanizm sichqoncha ko’rsatkichi Threshold parametri bilan belgilangan masofaga yaqinlashganda ishga tushadi.

Mexanizmning ishga tushganligi haqida sichqoncha ko’rsatkichi xabar beradi. U property DragCursor: Tcursor hususiyati bilan aniqlangan ko`rinishni oladi.

Quyidagi



procedure DragOver(Source: TObject; X, Y: Integer; State: DragState;  var Accept: Boolean);

metodda nazarda tutilgan ixtiyoriy komponenta qabul qiluvchi bo`lishi mumkin.

Drag-and-Drop mexanizmi ko`rsatkichni shu komponenta ustiga keltirilganda ishga tushadi. Xodisalarni qayta ishlagich metodda kerakli hususiyatlar bo`yicha olib o`tish manbalarini tanlashni xam nazarda tutish mumkin.

Agar Accept parametri True bo`lsa, u holda bu komponenta qabul qiluvchi bo`lib qoladi. Olib o`tish manbasi esa Source parametri bilan belgilanadi. Bu parametr yordamida dasturchi manbaning metod va hususiyatlari bilan ishlashga ruxsat oladi. Ko`rsatkichning joriy holatini X va Y parametrlar aniqlaydi. State parametri sichqoncha xarakati haqidagi ma`lumotlarni saqlaydi:



type TDragState = (dsDragEnter, dsDragLeave, dsDragMove);

bu yerda dsDragEnter – ko`rsatkich komponenta ustiga keldi; dsDragLeave – ko`rsatkich komponentadan ketdi; dsDragMove — ko`rsatkich komponenta tomon surilmoqda.

Qabul qiluvchi manba agar olib o`tish amali aynan unda tugatiladigan bo`lsa, bajarishi lozim bo`lgan ayrim amallarni hisobga olishi lozim. Buning uchun DELPHI ga

type TDragDropEvent = procedure(Sender, Source: TObject;

X, Y: Integer) of object;

property OnDragDrop: TDragDropEvent;

xodisalarni qayta ishlagich metodi kiritilgan. U SCHT qo`yib yuborilganda ishga tushadi. Manba va qabul qiluvchilar bilan ishlashga ruxsat mos ravishda Source va Sender parametrlari yordamida olinadi. Sichqoncha koordinatalarini X va Y parametrlar ko`rsatadi.

Boshqaruv elementini olib o`tish tugaganidan so`ng, manba

type TEndDragEvent = procedure(Sender, Target: TObject; X, Y: Integer) of object;

property OnEndDrag: TEndDragEvent;

metodi bilan qayta ishlanadigan ma`lumotlarni oladi.

Ilovada olib o`tish jarayonini to`xtatish uchun manbaning EndDrag metodidan foydalanish mumkin:

procedure EndDrag(Drop: Boolean);

Bu yerda Drop = True parametri olib o`tish jarayonini tugatadi, va aksincha False – bo`lsa olib o`tish jarayoni to`xtatiladi.

Quyida keltirilgani namunada loyihada Drag-and-Drop mexanizmi asosida matn muharrirlari orasida matnni uzatish va panellarni forma bo`ylab joy almashtirishi amalga oshirilgan (20.1-rasm).




Download 9,81 Mb.

Do'stlaringiz bilan baham:
1   ...   182   183   184   185   186   187   188   189   ...   209




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish