Mirsaid Aripov, Nurillo Otaxanov



Download 9,81 Mb.
bet193/209
Sana16.01.2022
Hajmi9,81 Mb.
#371485
1   ...   189   190   191   192   193   194   195   196   ...   209
Bog'liq
DELPHI dasturlash titli 2018

20.6. Yorliqlar


Agar ko`rsatkichni interfeysning biror elementi ustida bir oz to`xtatilsa, eslatma oynasida (yorqin rangli kichik to`rtburchak) bu element haqidagi qisqa axborot (nomi yoki komponenta bilan bog’liq xarakat) paydo bo`ladi. Delphi o`z ichiga ana shunday yorliqlarni yaratish mexanizmini ham olgan.

Boshqaruv elementi eslatmasini property ShowHint: Boolean;. hususiyati yordamida faollashtirish mumkin. Agar ShowHint hususiyati True bo`lib, ilovani bajarilishi vaqtida ko`rsatkich komponenta ustida ma`lum bir muddat to`xtasa, eslatmalar oynasida



property Hint: string;

hususiyati bilan belgilangan eslatma paydo bo`ladi. Komponenta eslatmasi bo`sh bo`lishi ham mumkin.

Agar Hint satrida maxsus ajratuvchi belgi "|" belgisi mavjud bo`lsa, u holda matnning ungacha bo`lgan qismi eslatmalar oynasiga uzatiladi, qolgan qismi esa Application ob’yektining Hint hususiyatiga beriladi.

Tezkor eslatmalar tizimi ilovadagi barcha formalar uchun umumiy bo`lgan hususiyat va metodlarga ega. Ular ishlayotgan ilovaga mos keluvchi Application - global ob’yektda jamlangan. Quyida keltirilgan barcha hususiyatlar eslatma ko`rsatilayotgan komponenta uchun emas, balki aynan Application ga tegishli.

Eslatma oynasi fon rangini

property HintColor: TColor;

hususiyatidan foydalanib o`zgartirish mumkin.

Application ob’yekti showHint hususiyati qiymatini ilova bajarilayotgan vaqtda ham (masalan, bosh formaning OnCreate metodida) o`rnatish mumkin. U hamma eslatmalar tizimi uchun asosiy hisoblanadi va agar False bo`lsa yorliqlar ekranga chiqmaydi.

Eslatmalar olishning yana bir usuli mavjud. Joriy boshqaruv elementi almashtirilganda (ya`ni, Hint hususiyatidagi matn o`zgartirilganda) Application ob’yektida quyidagi xodisa ry beradi:



property OnHint: TNotifyEvent; 

Masalan:



procedure TForml.AppHint(Sender: TObject);

 begin



Panell.Caption:= Application.Hint;

 end;



procedure TForml.FormCreate(Sender: TObject);

 begin



Application.OnHint := AppHint; 

end;

Ushbu namunada ob’yektning ShowHint hususiyati qanday bo`lishidan qat`iy nazar, Panel1 holatlar satriga chiqariladi. Buning uchun ilova boshqaruv elementi eslatma matnini "|"belgisi yordamida ikki qismga ajratish lozim. Bunda qisqa eslatma element yonida, to`liq ma`lumot esa holatlar satrida paydo bo`ladi.



function GetLongHint(const Hint: string): string;

function GetShortHint(const Hint: string): string;

Boshqa komponentalarda ShowHint hususiyati quyidagicha ishlaydi: sichqoncha ko`rsatkichi boshqaruv elementi yoki menyu punkti ustida to`xtaganda ilova ma`lumotlarni qayta ishlash bilan band bo`lmasa tekshirish boshlanadi va element yoki biror ajdodlarining showHint hususiyati True bo`lsa, kutish boshlanadi. Agar joriy vaqtda boshqa yorliqlar ko`rsatilmayotgan bo`lsa, kutish vaqti



property HintPause: Integer;

hususiyati bilan belgilanadi. Agar u ko`rsatilmasa, 500 ms ga teng deb qabul qilinadi. Agar shu vaqtda boshqa komponentaning yorlig’i ko`rinib turgan bo`lsa, kutish vaqtini



property HintShortPause: Integer;

hususiyati bilan belgilanadi. SHu vaqt tugaganidan keyin ham sichqoncha ko`rsatkichi shu boshqaruv elementidan “ketmasa”, eslatma oynasi paydo bo`ladi. Bu vaqtda dasturchi boshqaruvni Application ob’yektining metodi yordamida ilovaga berishi mumkin:



property OnShowHint: TShowHintEvent;

TShowHintEvent = procedure (var HintStr: string; 

var CanShow: Boolean; var Hintinfo: THintlnfo) of object;

Bu yerda Hintstr – ko`rsatiladigan matn;  CanShow – eslatmaning paydo bo`lish zarurati. Agar CanShow o`zgaruvchisiga ilovada False qiymati berilgan bo`lsa, eslatmalar oynasi ekranga chiqmaydi; Hintinfo — boshqaruv elementi eslatmasini qaerga va qanday ko`rinishda chiqarili-shini belgilovchi struktura bo`lib, quyidagi ma`lumotlardan tashkil topgan:



THintinfo = record HintControl: TControl; HintPos: TPoint;

HintMaxWidth: Integer; HintColor: TColor;

CursorRect: TRect; CursorPos: TPoint; end;

Eslatmalar oynasining ko`rsatilishi uchun boshqaruv elementi yoki uning ajdodlarining Hint hususiyati bo`sh bo`lmasligi lozim. Uni zarur bo`lsa, OnShowHint yordamida o`zgartirish mumkin:



procedure TForml.AppShowHint(var HintStr: string; 

var CanShow: Boolean; var Hintinfo: THintinfo);

begin

if HintStr=’’ then

begin

HintStr := Hintinfo.HintControl.Name;

Hintinfo.HintColor:= clRed; CanShow := True; 

end;

end;

Bu metod Application.OnShowHint ga berilganidan so`ng, Form.showHint:=True qiymati o`rnatiladi va barcha Hint satrlar o`chirilsa, eslatma sifatida har bir element nomini olish mumkin.

Yorliqni ko`rsatish vaqti (muddati) property HintHidePause: Integer; hususiyati bilan belgilanadi. Agar u ko`rsatilmagan bo`lsa, 2500 ms ga teng deb qabul qilinadi. Quyidagi hususiyat yorliq matni bilan birga “qaynoq” tugmalarni ham ekranga chiqarilishini ta`minlaydi:

property HintShortCuts: Boolean;.

Yorliqlarni “qo`lda yoqish yoki o`chirish” mumkin.



procedure ActivateHint(CursorPos: TPoint);

metodi yordamida yorliqni CursorPos nuqtasiga o’rnatish mumkin. Eslatma oynasini yopish amali procedure CancelHint; metodi yordamida bajariladi. Joriy element ustiga sichqoncha ko`rsatkichi qayta kelmasa, eslatmalar ekranga boshqa chiqarilmaydi.




Download 9,81 Mb.

Do'stlaringiz bilan baham:
1   ...   189   190   191   192   193   194   195   196   ...   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