|
Tiplarni dinamik tarzda
|
bet | 96/131 | Sana | 16.06.2024 | Hajmi | 1,92 Mb. | | #264063 |
Bog'liq Tiplarni dinamik tarzdaCtrl+Shift+P, F1
|
Buyruqlar palitrasini ko‘rsatish
|
Ctrl+P
|
Tez ochish, faylga o‘tish…
|
Ctrl+Shift+N
|
Yangi oyna yaratish
|
Ctrl+Shift+W
|
Oynani yopish
|
Ctrl+,
|
Foydalanuvchi sozlamalari
|
Ctrl+K Ctrl+S
|
Klaviatura yorliqlar
|
|
|
|
|
Asosiy tahrirlash tugmalari
-
Ctrl+X
|
Buferga olish va o‘chirish
|
Ctrl+C
|
Buferdan nusxa joylashtirish
|
Alt+ ↑ / ↓
|
qatorni yuqoriga / pastga ko‘chirish
|
Shift+Alt + ↓ / ↑
|
Qator nusxasini yuqoriga / pastga ko‘chirish
|
Ctrl+Shift+K
|
Qatorni o‘chirish
|
Ctrl+Enter
|
Yangi qator joylashtirish
|
Ctrl+Shift+Enter
|
Yuqoridan yangi qator joylashtirish
|
Ctrl+Shift+\
|
Mos keladigan qavsga o‘tish
|
Ctrl+] / [
|
Qatorga abzas qo‘shish/o‘chirish
|
Home / End
|
Satr boshi / oxiriga o‘tish
|
Ctrl+Home
|
Fayl boshiga o‘tish
|
Ctrl+End
|
Fayl oxiriga o‘tish
|
Ctrl+↑ / ↓
|
qatordan yuqoriga / pastga harakatlashtirish
|
Alt+PgUp / PgDn
|
sahifa bo‘yicha yuqoriga / pastga harakatlashtirish
|
Ctrl+Shift+[
|
Operator taʻsir doirasini belgilash
|
Ctrl+Shift+]
|
Operator taʻsir doirasini belgilashni bekor qilish
|
Ctrl+K Ctrl+[
|
Taʻsir doirani ochish
|
Ctrl+K Ctrl+]
|
Taʻsir doirani yopish
|
Ctrl+K Ctrl+0
|
Qatorlarga izoh qo‘yish
|
Ctrl+K Ctrl+J
|
Qatorlardan izohni o‘chirish
|
Ctrl+K Ctrl+C
|
Satrga izoh qo‘shish
|
Ctrl+K Ctrl+U
|
Satrdan izoh o‘chirish
|
Ctrl+ Z
|
Amalni bekor qilish
|
Form xususiyatlari va hodisalari. Form bu loyiha yaratilgan hosil bo‘ladigan birinchi oyna hisoblanadi. Oynaning joriy holatlari mavjud. Ularni loyiha boshqaruvchisi panelidan ko‘rish mumkin. Oyna uchun yangi form1 sinfi yaratiladi. Bu sinf form sinfining merosxo‘ri hisoblanadi. U quyidagicha aniqlangan:
-
public ref class Form1 : public System::Windows::Forms::Form {}
|
Shu sinfning ichida InitializeComponent funksiyasi bor va u formani yaratilishi javob beradi. Uning dastlabki sozlamalari quyidagi fragmentda keltirilgan:
-
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
|
this->ClientSize = System::Drawing::Size(284, 261); this->Name = L"Form1";
this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen; this->Text = L"Form1";
this->ResumeLayout(false);
|
Imkoniyat qadar bu dastur fragmentlariga o‘zgartirish kiritish shart emas, bularni hammasini vizual bajarish maqsadga muvofiq.
Vizual bajarish deganda formaning vizual loyihasi bilan ishlash kerak.
Loyiha yaratuvchisi uchun quyidagilar muhim hisoblanadi:
Formani ustiga sichqonchani bossangiz u aktivlashadi.
Kontekst menyudan foydalanib, uning dastur fragmentiga o‘tish mumkin (F7 tugmasi orqali xam)
Dastur fragmentidan forma loyihasiga o‘tish uchun kontekst menyudan foydalanish mumkin (Shirft + F7 tugmasi orqali ham)
Kontekst menyu oqali formani boshqarishni qulflab qo‘yish va ochish mumkin (lock/unlock controls)
Kontekst menyu oqali formani xususiyatlari va hodisalariga o‘tishsh mumkin (Properties)
Birinchi navbatda muhitning o‘zi ushbu xususiyatlarni o‘rnatishni va tarbilashni nazorat qiladi. Formada quyidagi o‘zgarishlar amalga oshirilgan: formaning chiqish maydoni, rangi, joriy o‘lchamlari, oyna kursori, oynaning yozuv turi, ko‘rinishi, yordamchi tugma o‘rnatilgan, ikonkasi o‘zgartirilshan, holati o‘zgartirilgan, kattalashtirish va kichiklashtirish tugmalari olib tashlangan, oynaning sarlavhasi o‘zgargan.
Bularni amalga oshirish uchun 2-3 munut vaqt ketadi va hammasi vizual bajariladi. Bunda oldin qilingan o‘zgarishlar o‘chirib, oxirgi o‘zgarishlar qo‘shib boriladi.
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:
|
| |