9- mavzu: visual c++ muhitida dasturlash


Formaning hodisalari bilan tanishib chiqamiz


Download 203.42 Kb.
bet14/14
Sana14.05.2023
Hajmi203.42 Kb.
#1462332
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
HcFcOE3vtGGm9b52hSRAcmNOngehASewLXAwctp4

Formaning hodisalari bilan tanishib chiqamiz. O‘zi hodisa nima? Hodisa bu bir vazifa bajarilgan jarayoni bo‘lishi mumkin, masalan, formani yaratish uchun 3 ta hodisa bo‘lishi mumkin, forma yaratilishidan oldin, forma yaratilayotgan vaqt, forma yaratilib bo‘lingandan keyin.
Ularning ham 9.6- rasmda keltirilgan 10 ta guruhi bor. Ularning baʻzilariga izoh berib o‘tamiz



1

Action guruhi

Global hodisalar guruhi bo‘lib, 8 ta hodisadan
iborat




Click

Formaga tugma bosilganda




DoubleClick

Formada tugma 2 marta bosiganda




MouseCaptureChanged

Sichqonchaning holati o‘zgarganda




MouseClick

Sichqoncha bosilganda




MouseDoubleClick

Sichqoncha ikki marta bosilganda




ResizeBegin

Forma o‘lchami o‘zgarishi boshlanganda




ResizeEnd

Forma o‘lchami o‘zgarishi tugaganda

2

Appearance guruhi

Formaning ichki hodisalari uchun ishlatiladi va
bitta xususichti bor, u bilan keyingi mavzular tanishamiz. t

3

Behavior guruhi

Forma holatlari uchun hodisalarni o‘z ichiga oladi
va 15 ta hodisadan iborat




ControlAdded

Formaga biror boshqarish qurilganda




ControlRemoved

Formadan biror bshqaruv o‘chirilganda




FormClosed

Forma yopilganda




FormClosing

Forma yopilishidan oldi holatda




HelpButtonClicked

Yordam tugmasi bosilganda




InputLanguageChanged

Til o‘zgartirilganda




InputLanguageChaning

Til o‘zgartirilayotganda




Load

Forma yuklanayotganda




Shown

Forma chqirilganda

4

Data guruhi

Ichki va tashqi maʻlumotlar bilan ishlash hodisalari bo‘lib, 2 ta hodisadan iborat, bu xususiyatlar maʻlumotlar bazasi bilan ishlaganda tushunarli
bo‘ladi

5

Drag drop guruhi

Formada harakatlanish hodisalari bo‘lib, 6 ta hodisadan iborat




DragDrop

Biror bir harakat bo‘lganda




DragEnter

Inter tugmasi bosilganda




DragLeave

To‘xtash harakati bo‘lganda




DragOver

Ketish harakati bo‘lganda




GiveFeedback

Teskari aloqa qo‘shish

6

Focus guruhi

Formada fokuslarni boshqarish uchun bo‘lib, 6 ta
hodisani o‘z ichiga oladi




Activated

Fokus aktiv bo‘lganda




Enter

Fokusda maʻlumot kiritilganda




Leave

Fokusda to‘xtash sodir bo‘lganda




Validated

Tekshirish tugaganidan so‘ng




Validating

Tekshirish vaqtida

7

Key guruhi

Tugmalar bilash ishlash hodisalari uchun bo‘lib, 6
ta hodisadan iborat




KeyDown

Tugma kelganda




KeyPess

Tugma bosilganda




KeyUp

Tugma ketganda




PreviewKeyDown

Tugma kelganda

8

Layout guruhi

Tartib guruhi formani atrofidagilar bilan ishlash
tartibini nazora qilash uchun rejalashtirilgan




DpiCahged

Joriy forma tartibi o‘zgarganda




DpiCahgedAfterParent

Meros bergan sinf tartibi o‘zgargandan keyin







DpiCahgedBeforParent

Meros bergan sinf tartibi o‘zgargandan oldin




Layout

Forma tartibini o‘rnatish




MdiChildActivate

Forma sinfining meros xo‘ri faol bo‘lganda




Move

Forma ko‘chirilganda




Resize

Forma o‘lchamini o‘zgartirganda

9

Mouse guruhi

Sichqoncha bilan bo‘ladigan hodisalar bo‘lib, 6 ta
hodisadan iborat




MouseDown

Sichqoncha kelganda




MouseEnter

Sichqoncha joriy holatida




MouseHover

Sichqoncha ozgina harakatida




MouseLeave

Sichqonchaga to‘xtash bo‘lganda




MouseMove

Sichqoncha ko‘chganda




MouseUp

Sichqoncha ketganda

10

Property Changed
guruhi

Formaning xususiyatlari o‘zgarganda bajariladigan
12 hodisasi bor




AutoSizeChanged

Avtomatik o‘lcham o‘zgarganda




AutoValidateChanged

Avtomatik tekshirib bo‘lganda




BackColorChanged

Fon rangi o‘zgarganda




EnabledChanged

Holat o‘zgarganda

Hodisalarni o‘rnatish juda qulay hisoblanadi. Kerakli hodisaning o‘ng tomoniga sichqonchani ikki marta bossangiz, hodicha mos bo‘lgan dastur franmentini yozish uchun funksiya yaratib beradi. Bir misol bilan ko‘rib chiqamiz.


Buning uchun MessageBox sinfining show funksiyasidan foydalanamiz. Bu funksiya statik funksiya bo‘lib, System::Windows::Forms nomlar fazosiga tegishli, 21 variantda yozilishi mumkin. U natija sifatida DialogResult tipini qaytaradi. Uning argumentlari:
Text - String tipini qabul qiladi va matni xabar sifatida chiqaradi
Caption - String tipini qabul qiladi va xabar sarlavhasini chiqaradi
Buttons - MessageBoxButtons tipini qabul qiladi va xabarni qabul qilish tugmalarini chiqaradi, AbortRetryIgnore, OK, OKCancel, RetryCancel, YesNo, YesNoCancel qiymatlarni qabul qiladi.
Icon - MessageBoxIcon tipini qabul qiladi va xabarni ikonkasini chiqaradi, Asterisk, Error, Exclamation, Hand, Information, None, Question qiymatlarni qabul qiladi


defaultButton - MessageBoxDefaultButton tipini qabul qiladi va xabarni tugmalarini belgilaydi, Button1, Button2, Button3 qiymatlari qabul qiladi.
Options - MessageBoxOptions tipini qabul qiladi va xabarni chiqish varintlarini aniqlaydi,
DefaultDesktopOnly, RightAlign, RtlReading, ServiceNotification qiymatlari qabul qiladi.
Bu funksiyaning boshqa argumentlari ham bor, ularni keyinchalik o‘rganish mumkin.


MessageBox sinfining show funksiyasidan foydalanish:


MessageBox::Show("Xabar", "Sar…", MessageBoxButtons::OK, MessageBoxIcon::Information
);

Forma hodisalaridan foydalanish uchun 3 tasini ko‘richb chiqamiz:

    1. Click hodisasini ishlatish uchun, uning o‘ng tomoniga sichqonchani bosamiz. Forma sinifida tayyor Form1_Click() nomli funksiya yaratiladi. Bu funksiyani ichida quyidagicha fragmentni yozamiz:


Shuningdek formaning InitializeComponent() funksiyasini ichida avtomatik tarzda this->Click
+= gcnew System::EventHandler(this, &Form1::Form1_Click); hodisa qo‘shib qo‘yilgan. Agar bu hodisani to‘liq o‘chirmoqchi bo‘lsangiz, Click hodisasining o‘ng tomoniga yozilgan Form1_Click() ni o‘chirib, enter tugmasini bosish yetarli o‘zi avtomatik InitializeComponent() funksiyasini ichidagi hodisani o‘chiradi. Dasturning qismidan funksiyani o‘chirish mumkin.
Quyidagi ikki hodisani ishlatish uchun bir masala olamiz. Yordam tugmasi bosilganda, yordam tugmasi bosildi deb xabar chiqsin. Foydalanuvchi ha deb javob bersa, oynaga qaytadi. Agar yo‘q deb bossa, yolg‘onchimi siz deb chiqadi va foydalanuvchi, faqat ha javobni tanlaydi. Javob tanlaganda oynaning sarlavhasi yolg‘onchi deb o‘zgarsin. Oyna holat hodisalari orqali bu tekshirib, yana oyna sarlavhasi o‘zgardi degan habarni chiqarsin.

    1. HelpButtonClicked hodisasini ishlatish uchun, uning o‘ng tomoniga sichqonchani bosamiz. Forma sinifida tayyor Form1_HelpButtonClicked () nomli funksiya yaratiladi. Bu funksiyani ichida quyidagicha fragmentni yozamiz:

System::Windows::Forms::DialogResult result;

result = MessageBox::Show("HelpBuutonClicked","Xabar",MessageBoxButtons::YesNo,MessageBoxIcon::Han d, MessageBoxDefaultButton::Button1);


if(result == System::Windows::Forms::DialogResult::No) { MessageBox::Show("Yolgʻnchimi siz


!","Xabar",MessageBoxButtons::OK,MessageBoxIcon::Warning);


Form1::Text = "Yolgʻnchi";




Shuningdek formaning InitializeComponent() funksiyasini ichida avtomatik
tarzda


this->HelpButtonClicked +=gcnew System::ComponentModel::CancelEventHandler(this, &Form1::Form1_HelpButtonClicked); hodisa qo‘shib qo‘yilgan.


    1. TextChanged hodisasini ishlatish uchun, uning o‘ng tomoniga sichqonchani bosamiz. Forma sinifida tayyor Form1_TextChanged() nomli funksiya yaratiladi. Bu funksiyani ichida quyidagicha fragmentni yozamiz:

Shuningdek formaning InitializeComponent() funksiyasini ichida
avtomatik tarzda


this->TextChanged+=gcnewSystem::EventHandler(this, &Form1::Form1_TextChanged); hodisa qo‘shib qo‘yilgan.
Bu hodisalarni ishlatib ko‘rsangiz, ancha narsalarni farqiga borishingiz
kerak.Matnda bir joyda forma, bir joyda oyna, bir joyda form deb ishlatilgan bo‘lsa, ularning
hammasi bir maʻnoni beradi. Shu bilan formaning xususiyatlari va hodisalari bilan tanishib chiqdingiz
va uni o‘rganishni davom etish kerak. Chunki, keyingi barcha ishlaringiz shu kabi formalar bilan bog‘liq. Keyinchalik formaning maʻlum bir xususiyati va hodisalari bilan ishlaganda. Albatta uni taʻkidlab aytib o‘tib ketamiz.

Nazorat savollari


  1. Obʻyektga yo‘naltirilgan tilni birinchi bo‘lib integrallashgan muhitlarga kim va qaysi firma joriy qilgan.

  2. Qanday muhitda zamonaviy matn muharrirlari kodi avtomatik bajarilishini taʻminlash (kodi tugatish), muharriri muhitda joriy yozilgan kodi sintaktik to‘g‘ri va uning davomi bo‘lishi mumkin.

  3. Taniqli NetBeans integrallashgan muhitni dastlab Java dasturlash uchun qaysi universitet talabasi loyihasi sifatida yaratgan.

  4. Vizual Studio 97 haqida nimalarni bilasiz?

  5. Visual Studio 2012 haqida nimalarni bilasiz?

  6. ISO xalqaro standartlari bilan standartlashtirilgan va bir necha implementations ega bo‘lgan obʻyektga yo‘naltirilgan ko‘p tilli dasturlash platformani ayting?

  7. MS Visual Studio muhit oynasi nechta qismdan iborat?

  8. Windows ilovalarni yaratish uchun qaysi tugmachalar majmuasini bosish yetarli.

  9. Qaysi vosita bir necha qo‘llab-quvvatlanadigan tillarda har qanday yozilgan dasturlar ijrosini boshqaradi.

  10. CLR Empty Project qanday loyiha yaratish uchun kerak.

  11. Windows Forms Control Library qanday loyiha yaratish uchun kerak.

  12. Loyihaning External Dependencis papkasida qanday fayllar saqlanadi.

  13. [FILE] menyusining vazifalarini sanab bering.

  14. [TOOLS] menyusining vazifalarini sanab bering.

  15. Menyular va uskunalar paneli foydalanuvchilar qanday papka buyruqlarga kirish uchun bir yo‘ldir.

  16. Bir buyruq yaratishda, buning uchun bir avval nima yaratish kerak.

  17. Yangi menyular va uskunalar majmuasi aniqlash uchun, Visual Studioda qanday jadval fayl orqali ularni tasvirlash kerak.

  18. Qatorlarga izoh qo‘yish tugmasini ayting.

  19. Satrga izoh qo‘shish tugmasini ayting.

  20. Tegishli funksiya variantlarini chaqirish tugmasini ayting.

  21. [Ctrl+Shift +.] tugmachalar majmuasi qanday amal bajaradi.

  22. [Ctrl+Shift+Tab] tugmachalar majmuasi qanday amal bajaradi.

  23. Oyna uchun yangi form1 sinfi yaratiladi. Bu sinf qaysi sinfining merosxo‘ri hisoblanadi

  24. Kontekst menyu oqali formaning qanday funksiyalarini bajarish mumkin.

  25. Formaning rejimlarini o‘rnatish qaerda joylashgan.

  26. Ichki va tashqi maʻlumotlar bilan ishlash hodisalari qaerda joylashgan.

  27. MessageBox sinfining nechta argumentlari bor, va har biriga izoh bering.

Download 203.42 Kb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




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