|
Visual C++ muhitida muloqot oynalari va ularni sozlash, boshqarish elеmеntlari
|
bet | 9/14 | Sana | 29.05.2023 | Hajmi | 1.59 Mb. | | #66362 |
Bog'liq 3 4 mustaqil ishlar5.5. Visual C++ muhitida muloqot oynalari va ularni sozlash, boshqarish elеmеntlari.
L istBox komponentasi
Tanlash, qo‘shish yoki o‘chirish uchun mo‘ljallangan matn ariantlari ro‘yxatining to‘rtburchak sohasini aks ettiradi.
Agar ro‘yxatdagi barcha elementlar ajratilgan sohaga sig‘masa, ro‘yxatni aylantirish lineykasi yordamida ko‘rib chiqish mumkin. Ro‘yxat elementlari Items xususiyatining ichida, dastur bajarilish vaqtida tanlab olinadigan element raqami esa ItemIndex xususiyatining ichida joylashgan bo‘ladi. Ro‘yxat elementlari matn muharririning darchasi Items xususiyati qiymatining grafasida tugmacha bilan ochiladi. Ro‘yxat elementlarini Items ob‘ektining Add, Appand, Delete va Insert metodlari yordamida dinamik tarzda qo‘shish, o‘chirish, orasiga joylash va o‘rnini almashtirish mumkin. Masalan:
ListBox1->Items->Add (“Ro‘yxatning oxirgi elementi”);
Sorted xususiyatining true qiymati ro‘yxat elementlarini alifbo tartibida ajratib joylashtiradi.
LinkLabel komponetasi:
Ushbu komponenta yordamida turli hil havolalarga murojat qilish mumkin. Uning asosiy xossalaridan biri Items va LinkClicked xossalaridir. Ushbu lobaratoriyada Button vazifasini bajaruvchi bir nechta imkoniyatlarni onclick hodisasiga yuklatiladi. DateTimePiker komponetasi:
Ushbu komponenta tizim kalendaridan foydalanish imkoniyatini beradi. Uning turli parametrlari bilan tanlangan sanani o‘zlashtirish imkoniyatlari bor. Ushbu imkoniyatlar FormatChange xossasida joylashgan.
Misol: dateTimePicker1->Format = DateTimePickerFormat::Custom; dateTimePicker1- >CustomFormat = "dd.dd.yyyy";
Misol. Visual C++ dasturida Windows Application muhitidan foydalanib familiyasi, ismi, sharifi, tug‘ilgan sanasi (kun oy yil), guruhi, bahosi va boshqalar bilan ishlash.
qadam: Asosiy oyna formasida kiruvchi ma’lumotlarni saqlash uchun 1 ta TextBox komponetasini joylashtiring va uning tex xossasiga C:\\2.txt co‘zni kriting. Talabaning familiyasi, ismi, sharifini kiritish uchun 3 ta TextBox komponetasini, tug‘ilgan sanasi(kun, oy, yil)ni kiritish uchun 1ta DateTimePiker komponetasini, guruhi va bahosini kiritish uchun 2 ta ComboBox komponetasini joylashtiring. ComboBox1 ning Items xossasiga (214-16, 215-16, 216-17, 217-16, 218-16, 219 16, 220-16) guruh nomerlarini, ComboBox2 ning Items xossasiga(3, 4, 5) baholarni kiriting.
qadam: 7 ta Label va 1 ta Button komponentasi joylashtiriladi va sichqonchaning o‘ng tugmasi ikki marta tez bosilib, kodlar oynasiga quyidagi kodlar yoziladi:
textBox3->AppendText(j.ToString()+M - talaba"+Environment::NewLine);
textBox3->AppendText(textBox2->Text+Environment:: NewLine); 3. textBox3->AppendText(textBox4->Text+Environment:: NewLine);
textBox3->AppendText(textBox5->Text+Environment:: NewLine);
textBox3->AppendText(comboBox1->Text+Environment:: NewLine);
textBox3->AppendText(String::Format(M{0}M, dateTimePicker1->Text)+Environment::NewLine);
try { textBox3->AppendText(comboBox2->Text+ Environment::NewLine); }
catch(ExceptionA vaziyat){ MessageBox::Show(MBahosini notogri k ir i td in g iz " ); } j++;
1.- rasm. Asossiy oynaning bir qismi
Mavzu: Visual C++ning grafik imkoniyatlari (grafik holat, tasvirlarni va funksiya grafiklarini qurish).
Grafika, geometriya, xarakatning paydo bo‘lishi, sinf va sinf ob’ekti, xususiyat, hodisa, forma, komponenta dasturlashga oid dastlabki tushunchalar hamda C++tilini qo‘llab quvvatlovchi muhitda ishlashni bilish lozim.
C++ning graf ikimkoniyatlari. Grafik imkoniyatga ega bo‘lgan tizimlarda asosan, nuqta, chiziq, to‘rtburchak, aylana, ko‘pburchak kabi shakllarni qamrab oladi. GUI asosidagi barcha elementlarga diqqat bilan qarasangiz shu grafik tuzilmalardan iborat bo‘ladi.
Visual C++ning imkoniyatlarini ko‘rish uchun Graphics sinfiga murojaat qilamiz. Bu sinfning nomlar fazosi System. Drawing va kutubxonasi System. Drawing. Common.dll bo‘lib hisoblanadi. Chizish uchun GDI+ Modulni inkapsulyatsiya qiladi va bu sinfdan merosxo‘r olish mumkin emas. Bu sinf Marshal By Ref Object, IDisposable, System: Drawing:IdeviceContextga asoslangan bo‘lib, Object → Marshal ByRefObject → Graphics sinfining merosxo‘ri hisoblanadi. Grafika sinfi ekranga tasvirlarni chizish usullarini o‘zi ichiga qamrab olgan.
Grafika muayyan qurilmani kontekst bilan bog‘lash uchun hamxizmat qiladi. Grafik ob’ekt yordamida ko‘pturli shakl va chiziqlar chizish mumkin. Chiziqlar va shakllar chizish uchun maxsus Draw Graphical Element usullarni o‘rganish lozim. Bu usullar DrawLine, DrawArc, DrawClosedCurve, DrawPolygon va DrawRectangle o‘z ichiga oladi.
Chiziqlar va shakllar chizish uchun qalam yordamida va shakllarni to‘ldirish uchun mo‘y qalam yordamida amalga oshiriladi.
Grafika sinf imkoniyatlarini uning xususiyatlari va usulari orqali ko‘rsatib o‘tamiz.
5.6.1-jadval.Grafika sinfi xususiyatlari.
Xususiyat nomi
|
Vazifasi
|
Clip Clip Bounds
|
Grafikaning chizilgan chegarasini cheklaydigan chegarani oladi yoki o‘rnatadi. Grafikaning kesish chegarasini chegaralovchi RectangleF tuzilishini oladi.
|
Compositing Mode Compositing Quality
|
Kompozit tasvirlar chizish holatini oladi yoki o‘rnatadi.
|
|
Grafikaga chizilgan kompozitsion tasvirlarning ko‘rsatish sifatini o‘rnatadi.
|
DpiX
DpiY
|
Ushbu grafikaning gorizontal o‘lchamini oladi. Ushbu grafikaning vertical o‘lchamini oladi.
|
Interpolation Mode IsClip Empty
|
Ushbu grafikalar bilan bog‘liq interpolyatsiya rejimini
oladi yoki o‘rnatadi. Bu grafika kesish sohasini bo‘sh yoki yo‘qligini ko‘rsatib, bir qiymat oladi.
|
IsVisible ClipE mpty
|
Bu grafika aniq kesish sohasini bo‘sh yoki yo‘qligini ko‘rsatib, bir qiymat oladi.
|
Page Scale
|
Bu grafika uchun sahifa moduli va birlik moduli o‘rtasida chegarasini sozlash.
|
Page Unit
|
Bu grafika sahifa koordinatalarini uchun ishlatiladigan o‘lchov birligi sozlash.
|
Pixel Offset Mode
|
Bu grafika ko‘rsatish paytida Piksel of set qanday ko‘rsatilgan qiymat sozlash.
|
Rendering Origin Smoothing Mode
|
Bu grafika ko‘rsatish rejimini o‘rnatadi.
Grafikalar uchun ko‘rsatish sifatini oladi yoki o‘rnatadi.
|
Text Contrast Text Rendering Hint
|
Matn ko‘rsatish uchun gamma qiymatini belgilash. Bu grafika bilan bog‘liq matn uchun ko‘rsatish rejimini o‘rnatadi.
|
Transform
|
Grafikalar uchun geometric o‘zgarishining nusxasini oladi yoki o‘rnatadi.
|
Visible Clip Bounds
|
Grafikning aniq kesish sohasini tekslash uchun to‘rtburchak oladi.
|
Grafika sinfi usulari quyidagilardan iborat:
1. AddMetafile Comment(Byte[]) - Rasm metafayliga izoh qo‘shadi.
Bunda Byte[] belgili massiv bo‘lib, ^ data Tipida aniqlanadi va masalan, array^metaCom ={(Byte)'T', (Byte)'e', (Byte)'s', (Byte)'t'}; kabi aniqlanishi mumkin. 2.Begin Container()
Grafikaning hozirgi holati bilan grafik konteynerni saqlaydi va yangi grafik konteynerni ochadi va ishlatadi.
Begin Container (Rectangle, Rectangle, GraphicsUnit) - Grafik joriy holati bilan birgrafik konteyner saqlaydi, belgilangan parametrli o‘zgartirish bilan yangi grafik konteynerdan foydalanadi va ochadi. Bunda Rectangle to‘rtburchak bo‘lib, Rectangle (0,0,200,200) kabi aniqlanadi.
Birinchi to‘rtburchak konteyner uchun shkalani va ikkinchi sikonteyner uchun soha o‘zgarishini aniqlaydi. Graphics Unit – konteyner uchun o‘lchov birligini aniqlash uchun ishlatiladi.
Graphics
Sinfi usulari asosida tasvirlarni qurish. Tasvirlarni qurish uchun PictureBox komponentasi dan foydalanamiz. Graphics sinfi usulari asosida tasvirlarni qurish. Tasvirlarni qurish uchun Picture Box komponentasidan foydalanamiz.
|
| |