• OnMouseDown
  • Borland C++ Builder 6 tizimi




    Download 0.69 Mb.
    bet9/10
    Sana01.06.2023
    Hajmi0.69 Mb.
    #68552
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    Borland C Builder 6 tizimi
    Tizimlar va signallarni qayta ishlash fanidan Labaratoriya ishi
    OnClick xodisasi (TNotifyEvef turida )boshqaruv elimentini tanlaganda ro'y beradi, uni yana bosish xodisasi deb ataladi. Odatda bu xodisa sichqoncha tugmasi bilan kompanentaga borganda ro'y beradi. Ilova yaratishda OnClick juda keng ishlatiladi. Misol uchun label1 yozuvini tanlagandagi hodisani ishlash.
    Procedure TForma1.Label1Click(Sender: Tobject);
    Begin
    Label1. Caption := TimeToStr(Time);
    end ;
    Sichqoncha bilan label1 yozuvida bosganda uning joriy vaqt akslanadi.
    OnClick xodisasi boshqa xollarda ham yuzaga kelishi mumken. Masalan Button kompanentasida kiritish fokus turgan holda
    yoki tugmasi bosilsa CheckBox kompanentasi uchun
    tugmasi bosiladi.
    OnMouseDown hodisasi sichqoncha tugmasini bosganda ro'y beradi . OnMouseUp hodisasi sichqoncha tugmasi qo'yib yuborganda
    ro'y beradi . Sichqoncha tugmasi bosilganda qo'yidagi hodisalar ketma - ketligi ro'y beradi :
    OnMouseDown -> OnClick (chap tugma uchun) -> OnMouseUp
    Agar komponenta sohasiga sichqoncha tugmasini ikkilangan bosishi amalga oshirilsa, OnDblClick hodisasi ro'y beradi . Bu holdagi hodisalar ketma - ketligi qo'yidagicha bo'ladi :
    OnMouseDown -> OnClick -> OnMouseUp -> OnDblClick -> OnMouseDown ->OnMouseUp
    Delphi yuqorida qayd qilingan holatlarda qo'lda yuzaga keltirishga imkon beradi .
    Masalan : Button2.Click operatori Button2 tugmasi bosilishini immitatsiya qiladi.
    OnMouseMove hodisasi vizual komponenta ustida sichqoncha ko'rsatgichini harakat qilishi davomida uzluksiz ravishda yuzaga kelib turadi . Bu hodisaning turi quyidagicha :
    Type TMouseEvent=procedure(Sender:TObject; Shift :TShiftState; x,y:integer) of Object ;

    Bu yerda Sender - sichqoncha ko'rsatgichi qaysi boshqaruv elementi ustida ekanligi , X va Y sichqoncha ko'rsatgichining Sender boshqaruv elementi koordinata tizimidagi koordinatalarini ko'rsatadi . Shift parametri , va tugmalarining holatini bildiradi . Bu parametr quyidagi qiymatlarning kombinatsiyasini olishi mumkin :

    SsShift - tugmasi bosilgan
    SsAlt - < Alt > tugmasi bosilgan
    SsCtrl - < Ctrl > tugmasi bosilgan
    SsLeft - sichqonchaning chap tugmasi bosilgan
    SsMiddle - sichqonchaning o'rta tugmasi bosilgan
    SsDouble - ikkilangan bosish amalga oshirilgan

    Masalan , harakat davomida < Shift > va < Alt > tugmalari bosilgan bo'lsa Shift parametri [SsShift, SsAlt ] qiymati qabul qiladi . hech qaysi tugma bosilmagan bo'lsa Shift parametri [ ] (bo'sh to'plam ) qiymatini qabul qiladi .


    Masalan . Sichqoncha ko'rsatgichining koordinatalarini chop qilish
    Procedure TForm1.FormMouseMove( );
    Begin
    Form1.Caption:='Sichqoncha ko'rsatgichi koordinatalari :' + IntToStr(x) + ' va ' + IntToStr(y) ) ;
    end;
    Sichqoncha ko'rsatgichini forma ichida xarakatlantirish uning koordinatalari forma sarloxasida ko'rsatib turiladi .
    OnKeyPress va OnKeyDown hodisalari klaviatura tugmasini bosganda yuzaga keladi.
    OnKeyUp hodisasi klaviatura tugmasini qo'yib yuborganda yuzaga keladi .
    Klaviatura tugmasini bosganda hodisalar quyidagi ketma - ketlikda ro'y beradi: OnKeyDown, OnKeyPress, OnKeyUp
    Klaviaturani bosib turganda uzluksiz ravishda onKeyDown hodisasi , tugma quyib yuborilgandan keyin OnKeyUp hodisasi ro'y beradi.
    OnKeyPress hodisasi TKeyPressEvent turida bo'lib, u quyidagi e'longa ega:
    Type TKeyPressEvent = procedure (Sender : TObject ; var Key:char) of Object ;
    Bu yerda key parametri bosilgan tugmasi mos keluvchi belgining ASCII kodi .
    OnKeyPress hodisasini qayta ishlashga misol

    Procedure TForm1.EditKeyPress( Sender : TObject ; var Key:Char);


    Begin
    if key='!' key=#0;
    End;
    Bu yerda Edit1 taxriridagi matnni qayta ishlashda foydalanuvchiga '!' belgisini ishlatishni man qiladi .

    Download 0.69 Mb.
    1   2   3   4   5   6   7   8   9   10




    Download 0.69 Mb.