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.
Do'stlaringiz bilan baham: |