Guruh talabasi Nematjonov Diyorbek
Download 245.04 Kb.
|
1-dedline
711-21 guruh talabasi Nematjonov Diyorbek C++ Builderni ishga tushirish C++ Builderning asosiy oynalari Dasturni saqlab qo’yish Xatolarni bartaraf qilish EXE fayl hosil qilish Button komponentasi Edit komponentasi Label komponentasi Panel komponentasi Panel komponentasining Top va Left xususiyatlari CheckBox komponentasi CheckBox katagiga ega ko'rsatkichlar ilovalarda ishlatiladi, shuning uchun foydalanuvchi ba'zi variantlarni yoqish yoki o'chirish yoki vaziyatni ko'rsatish uchun foydalanishi mumkin. Ko'rsatkichdagi Foydalanuvchining har bir sekin urishida uning holati o'zgaradi, umumiy holatda ketma-ket uchta qiymatdan o'tadi: tanlov (qora belgi ko'rinishi), oraliq (indikatorning kulrang oynasi va kulrang tasdiq belgisi) va ajratilmagan (indikatorning bo'sh oynasi). Ushbu uchta shart Davlat komponentining xususiyatlarining uchta qiymatiga mos keladi: cbChecked, cbGrayed, cbUnchecked. Biroq, bu uch holat faqat boshqa xususiyatning ma'nosi bilan ruxsat etiladi allowgrayed haqiqiy. Agar AllowGrayed = noto'g'ri (standart) bo'lsa, unda faqat ikkita holat mavjud: ajratilgan va ajratilmagan. Ham Davlat, ham AllowGrayed dizayn vaqtida yoki dasturiy ta'minot vaqtida o'rnatilishi mumkin. Agar indikator ob'ektning ayrim xususiyatlarini ko'rsatish uchun qo'llanilsa, oraliq holat odatda ishlatiladi. Misol uchun, agar indikator matnning bir qismini yozishda qaysi registrni ishlatilganligini ko'rsatish uchun mo'ljallangan bo'lsa, unda barcha matn yuqori registrda yozilgan bo'lsa, indikator tanlangan holatni qabul qilishi mumkin, agar pastki qismda ajratilmagan bo'lsa va ikkala registrlar ham ishlatilgan bo'lsa-oraliq. Ko'rsatkich holatini tekshirish uchun emas, balki faqat davlat qiymati, lekin, shuningdek, mol-mulk qiymati tomonidan nazorat qilinadi. Agar tekshirilgan haqiqiy bo'lsa, indikator tanlanadi, ya'ni. davlat = cbChecked. Agar tekshirilgan bo'lsa, unda davlat cbUnchecked yoki cbgrayedga teng. Dizayn yoki ish vaqtida True-da tekshirilgan o'rnatish avtomatik ravishda davlatni cbChecked-ga o'zgartiradi. Radio tugmachasidagi kabi, CheckBox ko'rsatkichida yozuv Caption xususiyati bilan belgilanadi va uning joylashuvi Alignment ko'rsatkichiga nisbatan.BorderStyle xususiyati ScrollBox komponentining ramka uslubini belgilaydi. CheckBox katagiga ega ko'rsatkichlar ilovalarda ishlatiladi, shuning uchun foydalanuvchi ba'zi variantlarni yoqish yoki o'chirish yoki vaziyatni ko'rsatish uchun foydalanishi mumkin. Ko'rsatkichdagi Foydalanuvchining har bir sekin urishida uning holati o'zgaradi, umumiy holatda ketma-ket uchta qiymatdan o'tadi: tanlov (qora belgi ko'rinishi), oraliq (indikatorning kulrang oynasi va kulrang tasdiq belgisi) va ajratilmagan (indikatorning bo'sh oynasi). Ushbu uchta shart Davlat komponentining xususiyatlarining uchta qiymatiga mos keladi: cbChecked, cbGrayed, cbUnchecked. Biroq, bu uch holat faqat boshqa xususiyatning ma'nosi bilan ruxsat etiladi allowgrayed haqiqiy. Agar AllowGrayed = noto'g'ri (standart) bo'lsa, unda faqat ikkita holat mavjud: ajratilgan va ajratilmagan. Ham Davlat, ham AllowGrayed dizayn vaqtida yoki dasturiy ta'minot vaqtida o'rnatilishi mumkin.CheckBox katagiga ega ko'rsatkichlar ilovalarda ishlatiladi, shuning uchun foydalanuvchi ba'zi variantlarni yoqish yoki o'chirish yoki vaziyatni ko'rsatish uchun foydalanishi mumkin. Ko'rsatkichdagi Foydalanuvchining har bir sekin urishida uning holati o'zgaradi, umumiy holatda ketma-ket uchta qiymatdan o'tadi: tanlov (qora belgi ko'rinishi), oraliq (indikatorning kulrang oynasi va kulrang tasdiq belgisi) va ajratilmagan (indikatorning bo'sh oynasi). Ushbu uchta shart Davlat komponentining xususiyatlarining uchta qiymatiga mos keladi: cbChecked, cbGrayed, cbUnchecked. Biroq, bu uch holat faqat boshqa xususiyatning ma'nosi bilan ruxsat etiladi allowgrayed haqiqiy. Agar AllowGrayed = noto'g'ri (standart) bo'lsa, unda faqat ikkita holat mavjud: ajratilgan va ajratilmagan. Ham Davlat, ham AllowGrayed dizayn vaqtida yoki dasturiy ta'minot vaqtida o'rnatilishi mumkin. RadioButton komponentasi Ba'zan tugmalarning tartibsiz joylashuvi kerak. Ushbu imkoniyat Groupbox paneli tomonidan guruhlangan RadioButton komponentlarini beradi. GroupBox paneli Radiogroupga o'xshash shaklda ko'rinadi va uning yuqori chap burchagidagi yozuv ham Caption xususiyati bilan belgilanadi. Ushbu panel o'z-o'zidan bo'sh. Uning maqsadi boshqa nazorat elementlari, xususan, RadioButton radioknoplari uchun konteyner sifatida xizmat qilishdir. Radiobuttonning alohida radio tugmasi juda mantiqiy emas, garchi u foydalanuvchi tomonidan yoqilgan va o'chirilgan ko'rsatkich sifatida xizmat qilishi mumkin. Biroq, boshqa komponentlar odatda ko'rsatkichlar sifatida ishlatiladi - CheckBox. Radioknopki guruhda bir-biri bilan o'zaro aloqada bo'lganida mantiqan. Ushbu guruh odatda bitta konteyner, odatda GroupBox paneli bilan birlashadi. Caption xususiyati tugma yaqinida paydo bo'lgan yozuvni o'z ichiga oladi. Alignment xususiyatining qiymati tugmachaning qaysi tomonida paydo bo'lishini belgilaydi: taLeftJustify-chapda, taRightJustify-o'ngda (bu qiymat sukut bo'yicha qabul qilinadi). Tekshirilgan xususiyat ushbu tugmani foydalanuvchi tomonidan tanlanganligini yoki yo'qligini aniqlaydi. Dastur boshida, odatda, guruh tugmalaridan biri sukut bo'yicha tanlangan bo'lishi kerak, chunki uning nazorati xususiyati dizayn jarayonida haqiqiy bo'lishi kerak. Agar siz tajriba qilsangiz, true-da, faqat bitta tugma bilan tasdiqlangan qiymatni guruhdan o'rnatishingiz mumkin. GroupBox panelidagi RadioButton tugmalarini joylashtirish RadioGroup komponentiga nisbatan ko'proq erkinlik beradi va tugmachalarni muntazam ravishda joylashtirish imkonini beradi. RadioButton radio tugmalari nafaqat GroupBox panelida, balki boshqa turdagi har qanday panelda va to'g'ridan-to'g'ri shaklda joylashtirilishi mumkin. Ushbu holatlarda bir-biriga bog'langan tugmalar guruhi tugmachalarni o'z ichiga olgan oyna komponenti bilan belgilanadi. Xususan, to'g'ridan-to'g'ri shaklga joylashtirilgan radioknapkalar uchun konteyner shaklning o'zi. Shunday qilib, to'g'ridan-to'g'ri shaklga joylashtirilgan barcha tugmalar bitta guruh sifatida ishlaydi, ya'ni. faqat ushbu tugmalardan birida tekshirilgan qiymatni true-ga o'rnatishingiz mumkin. ListBox komponentasi ListBox va CheckListBox komponentlari satrlar ro'yxatini ko'rsatadi va foydalanuvchiga ulardan kerakli qatorni tanlash imkonini beradi. TStrings tipidagi Elementlar qatorlari ro'yxatini o'z ichiga olgan ikkala komponentning asosiy xususiyati. Ob'ektlar inspektori oynasida ushbu xususiyat yonidagi ellipsli tugmani bosish orqali uni loyihalash vaqtida to'ldirishingiz mumkin. Ishlash vaqtida siz TStrings sinfining Clear, Add va boshqalar xossalari va usullaridan foydalangan holda ushbu xususiyat bilan ishlashingiz mumkin. Xuddi shu sinf har bir satrga qandaydir ob'ektni belgilash imkonini beradi. Keyin foydalanuvchining ro'yxatdagi qatorni tanlashi ushbu ob'ekt bilan dasturiy jihatdan bog'lanishi mumkin. ComboBox komponentasi ComboBox komponentining tasvir uslubi uning asosiy qiymatlarni qabul qila oladigan Style xossasi bilan belgilanadi. csOwnerDrawFixed va csOwnerDrawVariable uslublari bilan tasvirlar OnDrawItem hodisasi ishlov beruvchisidagi tuvalga xuddi ListBox uchun avval tasvirlanganidek chiziladi. csOwnerDrawVariable uslubi bilan chizishdan oldin OnMeasureItem hodisasi sodir bo'ladi, uning ishlov beruvchisida element balandligini o'rnatishingiz kerak. Foydalanuvchining tanlovi yoki foydalanuvchi kiritgan matnni Text xossasining qiymati bilan aniqlash mumkin. Agar foydalanuvchi tanlagan ro'yxat elementining indeksini aniqlash kerak bo'lsa, u holda ListBox komponentida muhokama qilingan ItemIndex xususiyatidan foydalanishingiz mumkin. Bundan tashqari, ComboBox uchun ItemIndex ning boshlang'ich qiymatini belgilash ListBox-ga qaraganda ko'proq ahamiyatga ega. Agar boshlang'ich qiymat o'rnatilmagan bo'lsa, u holda dastur ishga tushganda, foydalanuvchi komponent oynasida mumkin bo'lgan ro'yxat qiymatlaridan birini ko'rmaydi va, ehtimol, bu oyna bilan nima qilish kerakligini tushunmaydi. Agar ma'lumotlar oynada tahrirlangan bo'lsa, u holda ItemIndex = -1. Shu asosda siz tahrirlash amalga oshirilganligini aniqlashingiz mumkin. MaxLength xossasi foydalanuvchi tahrir oynasiga kiritishi mumkin bo'lgan belgilarning maksimal sonini belgilaydi. Agar MaxLength = 0 bo'lsa, u holda kirish belgilar soni cheklanmaydi. DropDownCount xususiyati ochiladigan ro'yxatda aylantirish panelisiz paydo bo'ladigan qatorlar sonini belgilaydi. ListBox komponenti kabi Sorted xususiyati ro'yxatni alifbo tartibida tartiblash imkonini beradi. Saralangan = rost bo'lsa, yangi qatorlar ro'yxatga oxirida emas, balki alifbo tartibida qo'shiladi. ScrollBar komponentasi ScrollBar komponenti - bu dastur oynasining ko'rinadigan maydonini aylantirish uchun slayder. ScrollBar - bu Windows oynasining aylantirish paneli yoki brauzer oynasidagi vertikal slayder. C++ Builder da ko‘pgina oyna komponentlari o‘zlarining aylantirish panellariga ega, lekin ular ScrollBar komponenti kabi ko‘p funksiyalarga ega emas. ScrollBar komponenti TrackBar komponenti bilan bir xil xususiyatlarga ega. Biroq, ba'zi farqlar mavjud. Tur - ScrollBarning gorizontal yoki vertikal holatini o'rnatadi va bir nechta qiymatlarga ega: sbGorizontal - gorizontal holat; sbVertical - vertikal tartibga solish. SmallChangc - chiziqning chetlaridagi boshqaruv tugmachalarini bosish yoki klaviatura strelkalari yordamida ko'rinadigan maydonni siljiting. LargeChange - PageUp yoki PageDown tugmachalarini bosganda ko'rinadigan maydonni siljitish. OnScroll - aylantirish paneli slayderini siljitish uchun mas'ul bo'lgan voqea. OnScroll bir nechta parametrlarning qiymatlarini o'tkazadi: ScrollPos - slayderning holati. ScrollCode - bir nechta qiymatlarga ega bo'lgan slayderning harakat turi: scLineUp, scLineDown - klaviaturadagi aylantirish tugmalari va strelkalari yordamida slayderni siljitish; scPageUp, scPageDown - slayderni PageUp yoki PogeDown tugmalari yordamida siljitish; scPosition - ko'chirilgan slayderning holati; scTrack - slayder harakati haqida xabar beruvchi trigger; scTop, scBottom - slayder slayderning boshi yoki oxiriga yetganligi haqida xabar beruvchi trigger; scEndScroll - harakatning oxiri uchun tetik. Masalan, ScrollPos voqea ishlovchisida siz shakl yoki komponentning kerakli maydonini siljitadigan shakl yoki komponentning belgilangan maydonini ko'chirish imkonini beruvchi operatorlarni joylashtirishingiz mumkin. ScrollPos keng qamrovga ega. GroupBox komponentasi GroupBox panelida Panel kabi turli uslublarni o'rnatish uchun unchalik keng imkoniyatlar mavjud emas. Lekin unda sarlavhali o'rnatilgan chegara mavjud bo'lib, u odatda formadagi funktsional birlashtirilgan komponentlar guruhini ajratib ko'rsatish uchun ishlatiladi. GroupBox paneli Paneldan boshqa maxsus xususiyatlarga ega emas. RadioGroup komponentasi RadioGroup komponenti radiokanallar guruhi panelidir. Panelda radioknopka ustunlari va satrlari muntazam ravishda joylashtirilgan bo'lishi mumkin. Panelning yuqori chap burchagidagi yozuv Caption xususiyati bilan belgilanadi. Va tugma yozuvlari va ularning soni tstrings turiga ega bo'lgan narsalar xususiyati bilan belgilanadi. Ob'ektni inspektor oynasida ushbu xususiyat haqida ko'p qismli tugmani bosish orqali siz satrlarni ro'yxatga olish muharriri ichiga kirasiz. Unda siz tugmachalarni, bir qatorda ko'rishni istagan yozuvlarni kiritishingiz mumkin. Qancha satrlarni yozasiz va tugmalar bo'ladi. Items qiymatlarini o'rnatgandan so'ng panelda paydo bo'lgan tugmalar ustunlar xususiyatini belgilash orqali bir nechta ustunlarga (17 dan ortiq bo'lmagan) joylashtirilishi mumkin. Odatiy bo'lib, ustunlar = 1, ya'ni tugmalar bir-birining ostiga joylashtirilgan. Tanlangan tugmalarning qaysi biri tanlangan bo'lsa, tanlangan tugma indeksini ko'rsatadigan Itemlndex xususiyatiga ko'ra bo'lishi mumkin. Indekslar 0 bilan boshlanadi. Odatiy bo'lib, itemlndex = -1, bu tanlangan tugma yo'qligini bildiradi. Agar siz dasturni ishga tushirish vaqtida tugmalardan birini tanlashni xohlasangiz (bu deyarli har doim zarur), dizayn vaqtida tegishli itemlndex qiymatini o'rnatishingiz kerak. Agar siz kirish uchun emas, balki ma'lumotlarni ko'rsatish uchun radio tugmalaridan foydalansangiz, dasturni bajarish vaqtida itemlndex qiymatini dasturiy ta'minot bilan o'rnatishingiz mumkin. RadioGroup komponenti juda qulay, ammo ba'zi kamchiliklardan ozod emas. Agar tugma yozuvlari taxminan bir xil uzunlikda bo'lsa va har bir ustundagi tugmalar soni (ularni bir nechta ustunlarga joylashtirganda) bir xil bo'lsa, uni ishlatish yaxshi. Misol uchun, radiokanallar guruhi juda ko'p joyni egallaydi, bu esa isrofgarchilikka olib keladi. Buning sababi shundaki, birinchi ustunning tugmalaridagi yozuvlarning uzunligi boshqa tugmalardagi yozuvlarning uzunligidan oshadi. A RadioGroup tugmalarni joylashtirishda maksimal uzunlikdagi yozuvga e'tibor beriladi. Bundan ham yomoni, agar tugmalar soni, masalan, 5 bo'lsa, bu guruh ko'rinadi. MainMenu komponentasi Standart sahifada joylashgan MainMenu vizual komponent emas, ya'ni. dizayn jarayonida uning shaklga joylashishi foydalanuvchi uchun muhim emas - u baribir komponentning o'zini emas, balki faqat u tomonidan yaratilgan menyuni ko'radi. Odatda formaga bitta MainMenu komponenti joylashtiriladi. Bunday holda, uning nomi avtomatik ravishda Menyu formasi xususiyatiga kiritiladi. Ammo siz turli xil dastur rejimlariga mos keladigan turli bo'limlar to'plamiga ega bo'lgan bir nechta MainMenu komponentlarini formaga joylashtirishingiz mumkin. Bunday holda, loyihalash vaqtida formaning Menyu xususiyati ushbu komponentlardan biriga havolaga o'rnatiladi. Va bajarilish vaqtida, to'g'ri daqiqalarda, ushbu xususiyat asosiy dastur menyusining tarkibini mos ravishda o'zgartirish orqali o'zgartirilishi mumkin. Items komponentining asosiy xususiyati. U MainMenu komponentasiga ikki marta bosish yoki Object Inspector oynasidagi Items xususiyati yonidagi ellips tugmasini bosish orqali chaqiriladigan Menyu Builder yordamida to‘ldiriladi. Bu oynani ochadi. Ushbu oynada siz menyuni loyihalashingiz mumkin. Menyu Builder dasturida ishlaganda, kursorni yangi bo'lim joylashgan joyni ko'rsatadigan nuqtalar qutisiga qo'yish orqali yangi bo'limlarni kiritish mumkin. Agar bir vaqtning o'zida bo'lim noto'g'ri joyga kiritilgan bo'lsa, uni sichqoncha bilan kerakli joyga sudrab o'tishingiz mumkin. Yangi bo'limga kirishning yana bir usuli - sichqonchaning o'ng tugmasi bilan kontekst menyusidan foydalanish. Agar siz avval menyuning biror qismini tanlasangiz va kontekst menyusidan Insert buyrug'ini tanlasangiz, yangi bo'limning ramkasi avval tanlanganidan oldin kiritiladi. Kontekst menyusidan tanlangan bo'limga pastki menyuni kiritish imkonini beruvchi Submenu yaratish buyrug'ini ham bajarishingiz mumkin. Yangi bo'limni tanlaganingizda, Ob'ekt inspektorida ushbu bo'limning ko'plab xususiyatlarini ko'rishingiz mumkin. Haqiqat shundaki, menyuning har bir bo'limi, ya'ni. Items xossasining har bir elementi TMenuItem tipidagi ob'ekt bo'lib, uning o'ziga xos xususiyatlari, usullari va hodisalari mavjud. Caption xossasi bo‘lim sarlavhasini bildiradi. Ushbu xususiyatni to'ldirish tugmachalarda o'xshash xususiyatni to'ldirish bilan bir xil qoidalarga amal qiladi, shu jumladan klaviatura yorliqlarini belgilash uchun ampersand belgisidan foydalanish. Agar siz keyingi bo'limning Sarlavha qiymati sifatida "-" minus belgisini kiritsangiz, u holda bo'lim o'rniga menyuda ajratuvchi paydo bo'ladi. Name xossasi menyu bo'limiga mos keladigan ob'ekt nomini belgilaydi. Ushbu ob'ektlarga ma'noli nomlar berish juda foydali, aks holda siz tez orada N21 kabi ma'nosiz nomlar bilan adashishingiz mumkin. MFile, MOpen, MSave va boshqalar kabi nomlar ancha tushunarli. Shortcut xossasi menyu bo'limining yorliq tugmalarini - "issiq" tugmachalarni belgilaydi, ular yordamida foydalanuvchi, hatto menyuga kirmasdan ham, istalgan vaqtda ushbu bo'lim bilan bog'liq protsedura bajarilishini chaqirishi mumkin. Qisqa klavishlarni belgilash uchun Ob'ekt inspektori oynasida Yorliq xususiyati ochiladigan ro'yxatini ochishingiz va undan kerakli tugmalar birikmasini tanlashingiz kerak. Ushbu kombinatsiya menyu bo'limi satrida paydo bo'ladi. Default xususiyati berilgan bo'lim uning pastki menyusining standart bo'limi ekanligini aniqlaydi, ya'ni. foydalanuvchi ota-bo'limni ikki marta bosganida bajariladigan bo'lim. Pastki menyu qalin harf bilan yozilgan faqat bitta standart bo'limni o'z ichiga olishi mumkin. Break xususiyati uzun menyularda bo'limlar ro'yxatini bir nechta ustunlarga ajratish uchun ishlatiladi. Mumkin bo'lgan tanaffus qiymatlari: mbNone - menyuga bo'linish yo'q (bu qiymat sukut bo'yicha olinadi), mbBarBreak va mbBreak - menyuga oldingisidan satr (mbBarBreak) yoki bo'shliqlar (mbBreak) bilan ajratilgan yangi bo'lim ustuni kiritiladi. Rost qiymatiga o'rnatilgan Checked xususiyati menyu bo'limida bo'lim tanlanganligini bildirish uchun katakcha belgisini ko'rsatishini bildiradi. C++Builder 6 menyu bo'limlari uchun yangi xususiyatni taqdim etdi - AutoCheck. Agar u "true" ga o'rnatilgan bo'lsa, foydalanuvchi har safar ushbu bo'limni tanlaganida, marker tanlangan holatni yoki tanlov yo'qligini ko'rsatib, avtomatik ravishda o'zgaradi. C++ Builder ning oldingi versiyalarida markerning o‘zi almashtirilmaydi va siz bo‘limning OnClick hodisasi ishlovchisiga tur bayonotini kiritishingiz kerak (yuqoridagi bayonotda menyu bo‘limi MAutoSave deb nomlangan deb taxmin qilinadi): MAutoSave->Checked =! MAutoSave->Tekshirilgan; Menyu bo'limlariga markerlarni kiritish imkonini beruvchi yana bir xususiyat - RadioItem. Bu rost qiymatiga o'rnatilgan xususiyat ushbu bo'lim bir xil GroupIndex xossa qiymatiga ega bo'lgan boshqa bo'limlar bilan birgalikda radio tugma sifatida ishlashi kerakligini bildiradi. Odatiy bo'lib, GroupIndex qiymati 0 ga teng. Lekin siz uni noldan kattaroq qilib belgilashingiz mumkin, keyin bir xil GroupIndex qiymatiga ega va RadioItem = true bo'lgan bir nechta bo'limlar mavjud bo'lsa, ularda bayroq belgilari paydo bo'lishi mumkin va ulardan faqat bittasida. . Agar siz ushbu bo'limlardan birida Checked = rost ni dasturiy tarzda o'rnatsangiz, qolgan bo'limlarda Checked avtomatik ravishda "false" ga o'rnatiladi. Radio tugmalari vazifasini bajaradigan bunday bo'lim guruhlari uchun siz AutoCheck xususiyatini rost deb belgilashingiz mumkin. Keyin foydalanuvchi tugmani bosganda PopupMenu komponentasi Kontekst menyusi ma'lum komponentlar bilan bog'langan. Agar foydalanuvchi ushbu komponentda diqqat markazida bo'lsa, sichqonchaning o'ng tugmachasini bossa, u ochiladi. Odatda, kontekst menyusi asosiy menyuning buyruqlarini o'z ichiga oladi, ular birinchi navbatda ushbu komponent bilan ishlashda talab qilinishi mumkin. Kontekst menyusi PopupMenu komponentiga mos keladi. Ilovada bir nechta kontekst menyusi bo'lishi mumkinligi sababli, bir nechta PopupMenu komponentlari bo'lishi mumkin. Oyna komponentlari: panellar, tahrirlash oynalari, teglar va boshqalarda PopupMenu xossasi mavjud bo'lib, u sukut bo'yicha bo'sh, lekin bu komponent bilan bog'lanadigan PopupMenu komponentining nomini qo'yish mumkin. Kontekstli qalqib chiquvchi menyuni shakllantirish, xuddi asosiy menyu uchun qilinganidek, PopupMenu-ni ikki marta bosish orqali chaqiriladigan Menyu Builder yordamida amalga oshiriladi. Ushbu ishni soddalashtirish imkoniyatiga e'tibor bering. Kontekst menyusining bo'limlari odatda allaqachon yaratilgan asosiy menyuning ba'zi bo'limlarini takrorlaganligi sababli, siz tegishli bo'limlarni nusxalash orqali olishingiz mumkin. Buning uchun PopupMenu komponentasidan Menyu Builder dasturini kiritish orqali sichqonchaning o‘ng tugmachasini bosing va ochilgan menyudan Select Menyu buyrug‘ini tanlang. Sizdan asosiy menyuga o'tishingiz mumkin bo'lgan dialog oynasi so'raladi. Unda siz kerakli bo'lim yoki bo'limlarni tanlashingiz mumkin (Shift tugmasi bosilganda ko'rsatilgan diapazondagi bo'limlar tanlanadi, Ctrl tugmasi bosilganda siz qo'shni bo'lmagan bo'limlar to'plamini tanlashingiz mumkin). Keyin Ctrl+C tugmalarini bosib ularni vaqtinchalik xotiraga ko'chiring. Shundan so'ng, yana sichqonchaning o'ng tugmachasini bosing, "Menyuni tanlash" buyrug'ini tanlang va kontekst menyusiga qayting. Kursorni nusxalangan bo'limlarni joylashtirmoqchi bo'lgan joyga yo'naltiring va Ctrl + V tugmachalarini buferdan o'qish uchun tugmalarni bosing. Menyu bo'limlari barcha xususiyatlari bilan birga siz yaratgan kontekst menyusiga ko'chiriladi. Aks holda, PopupMenu bilan ishlash MainMenu bilan ishlashdan farq qilmaydi. Faqat turli shakllardagi menyularni birlashtirish haqida hech qanday savol yo'q, chunki. kontekst menyulari birlashtirilmaydi. Memo komponentasi Istisnolarni qayta ishlash Xabar chiqarish funksiyalari MessageDlg, MessageDlgPos funksiyalari Message Buttons – Xabar tugmalari Sichqoncha xodisalari Klaviatura xodisalari Grafika bilan ishlash, Canvas metodi Pixels va LineTo funksiyalari BitBtn komponentasi Yuqorida sanab o'tilgan tugma va BitBtn uchun ham amal qiladi. Keling, BitBtn belgisi bilan tugma xususiyatlarini ko'rib chiqaylik. Ushbu tugmadagi rasm Glyph xususiyatiga ega. Ko'p tugma bilan tugmani bosganingizda, Glyph xususiyatlari qatorida ob'ekt inspektorida oyna chaqiriladi. Yuklab olish tugmasini bosib, rasm faylini ochish uchun odatiy oynaga o'ting va bit matritsasi faylini tanlashingiz mumkin .kerakli tasvirni o'z ichiga olgan bmp. Xususan, C ++ Builder bilan tugmalar uchun juda ko'p rasm mavjud. Ular \images\Buttons katalogida joylashgan va C++ Builder-dagi tasvirlar katalogi odatda katalogda joylashgan ...\Program Files\Common Files\ Borlarid\Barland Shared. Rasmni tanlagandan so'ng, OK-ni bosing va tanlangan rasm chap yozuv tugmachasida paydo bo'ladi. Tugma uchun rasm fayli 16x16 o'lchamli piktogrammalarning to'rtta rasmini o'z ichiga olishi mumkin. Eng chap tomoni bosilgan tugmachaga mos keladi. Chapdagi ikkinchi tugma mavjud bo'lmagan tugmachaga mos keladi, uning yoqilgan xususiyati noto'g'ri. Chapdagi uchinchi rasm foydalanuvchi yoqilganda tugmani bosganda ishlatiladi. Chapdagi to'rtinchi rasm, tugmani bosib ushlab turish uchun SpeedButton tugmachalarida ishlatiladi. Tugmalar uchun tasvirlarning aksariyati ikkita piktogramdan foydalanadi. Piktogramlar sonini NumGlyphs tugmachasining xususiyatlaridan bilib olishingiz mumkin, bu tasvirni yuklaganingizdan so'ng sizga Piktogramlar sonini ko'rsatadi. Tugmadagi rasm va yozuvning joylashuvi Margin, Layout va Spacing xususiyatlari bilan belgilanadi. Agar Margin xususiyati -1 (standart) bo'lsa, tasvir va yozuv tugma markazida joylashgan. Bu holda, yozuvga nisbatan tasvirning pozitsiyasi qiymatlarni qabul qilishi mumkin bo'lgan Layout xususiyati bilan belgilanadi: blGlyphLeft( chapda, bu qiymat sukut bo'yicha qabul qilinadi), blGlyphRight( o'ngda), blGlyphTop( yuqori), blGlyphBottom (pastki qismida). Agar Margin > 0 bo'lsa, unda Layout qiymatiga qarab, tasvir va yozuv tugmachaning bir tomoniga o'tadi va undan Marginning qiymati bilan belgilangan piksel soniga qarab o'zgaradi. Spacing xususiyati tugma yuzasida tasvirni va yozuvni ajratadigan piksellar sonini belgilaydi. Standart Spacing = 4. Agar Spacing = 0 ni tanlasangiz, tasvir va yozuv bir-biriga yaqinlashadi. Agar Spacing = -1 ni tanlasangiz, matn tasvir va tugma qirrasi o'rtasida ko'rinadi. Bitbtnning yana bir xususiyati-bu tugma turini belgilaydigan Kind xususiyati. Odatiy bo'lib, bu xususiyatning qiymati bkCustom-tayyorlangan. BkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklgnore, bkAll: lekin siz o'rnatish va boshqa ko'plab oldindan belgilangan turlari mumkin. Ushbu turlarda tegishli yozuvlar allaqachon yaratilgan, piktogrammalar kiritilgan, ba'zi xususiyatlar berilgan. Odatda ularni ishlatmaslik yaxshiroqdir. Birinchidan, yozuvlar hali rus tiliga tarjima qilinishi kerak. Ikkinchidan, oldindan belgilangan chizmalar odatda muayyan ilovaning umumiy uslubidan chiqib ketadi. Va eng muhimi, siz hisobga olmagan ayrim xususiyatlarni oldindan belgilash ba'zan g'alati ish natijalariga olib kelishi mumkin. Maxsus tugmalardan foydalanish va ularga barcha kerakli xususiyatlarni o'rnatish yaxshiroqdir. SpeedButton komponentasi SpeedButton tugmasi piktogramlarni ko'rsatishga qodir va oddiy boshqaruv tugmalari yoki tugmachalarni bosib ushlab turish uchun ishlatilishi mumkin. Odatda turli xil menyu buyruqlarini takrorlaydigan tezkor tugmalar sifatida ishlatiladi va bosish holatini aniqlashni talab qiluvchi asboblar paneli. SpeedButton tugmasi, boshqa tugmalar kabi, caption - yozuv xususiyatiga ega, ammo bu tugma odatda bo'sh qoldiriladi, chunki yozuv o'rniga piktogramma ishlatiladi. Tugmadagi tasvir Glyph xususiyatiga BitBtn tugmalari bilan bir xil tarzda o'rnatiladi va NumGlyphs xususiyati ishlatiladigan Piktogramlar sonini aniqlaydi, Layout va Margin xususiyatlari tasvirning joylashishini aniqlaydi va Spacing xususiyati tasvir va yozuv o'rtasidagi masofa. SpeedButton tugmachasining o'ziga xos xususiyati Grouplndex (guruh indeksi), AllowAllUp (barcha guruh tugmachalarining siqilgan holatini aniqlash) va pastga (asl holat - bosilgan) xususiyatlari. Agar Groupindex = 0 bo'lsa, tugma tugma va BitBtn kabi harakat qiladi. Foydalanuvchi tugmani bosganda, u suvga cho'madi va ketayotganda normal holatga qaytadi. Bunday holda, allowallup va Down xususiyatlari tugma xatti-harakatlariga ta'sir qilmaydi. Agar GroupIndex > 0 va allowallup = rost bo'lsa, foydalanuvchi ustiga bosilganda tugma bosiladi va bosilgan holatda qoladi. Foydalanuvchini tugmani qayta bosganingizda, u chiqariladi va normal holatga o'tadi (tugmani ozod qilish uchun AllowAllUp = true ni o'rnatishingiz kerak). Dizayn vaqtida down xususiyati haqiqiy bo'lsa, tugmachaning asl holati bosiladi. Agar bir xil nol bo'lmagan qiymatga ega bo'lgan bir nechta tugmalar mavjud bo'lsa GroupIndex, ular bir-biriga bog'langan tugmalar guruhini tashkil qiladi, ulardan faqat bittasi bosilishi mumkin. Agar bitta tugma bosilsa va foydalanuvchi boshqasiga bosilsa, birinchi tugma bo'shatiladi, ikkinchisi esa bosilgan holatda o'rnatiladi. Bosish paytida tugmani bosish xatti-harakati allowallup xususiyatining qiymatiga bog'liq. Agar u to'g'ri bo'lsa, tugma bo'shatiladi, chunki bu holda guruhning barcha tugmalari bosilganda holat bo'lishi mumkin. Agar AllowAllUp noto'g'ri bo'lsa, tugmani bosish tugma ko'rinishini o'zgartirmaydi. Biroq, bu holatda, tugmani har qanday bosish bilan bir qatorda, qayta ishlanishi mumkin bo'lgan OnClick hodisasi mavjud. Ish vaqti tugmasining holati down xususiyatining qiymati bilan aniqlanishi mumkin: agar qiymat haqiqiy bo'lsa, tugma bosiladi. OnClick tadbirida down qiymati tugmani bosish natijasida qabul qiladigan holatga teng. Edit va MaskEdit komponentalari Tartibga solish komponenti matn turi matnida matn ma'lumotlarini kiritish va namoyish qilish imkonini beruvchi eng oddiy tartibga solish oynasidir, lekin juda ko'p foydali xususiyatlarga ega. Tartibga solish komponenti mashhur HotKey kombinatsiyalarini qo'llab-quvvatlaydi: Ctrl+C (matnni nusxalash), Ctrl+X (matnni kesish), Ctrl+V (matn kiritish), Ctrl+Z (oxirgi matnni tahrirlashni bekor qilish). Matnni tahrirlash maydoniga moslashtirish mumkin emas va u chap tomonga tekislanadi. Chiziqlarni uzatish ham mumkin emas. Edit oynasining uzunligiga mos kelmaydigan matn chegaradan tashqariga siljiydi va uni ko'rsatish uchun sichqonchani kursorini yon tomonga siljitish kifoya. BorderStyle-tahrirlash oynasining ko'rinishini tahrirlash imkonini beradi. Bir necha qiymatlar mavjud: bsSingle - oyna atrofida ramkani ko'rsatadi (asl qiymati); bsNone-tartibga solish oynasini tekis qilib, ramkani yashiradi. AutoSize - tahrirlash oynasining avtomatik balandligi. AutoSelect - oyna markazida Edit avtomatik ravishda barcha matnni ta'kidlaydi. Bir necha qiymatlar mavjud: SelLength - tanlangan matn uzunligini belgilaydi; SelStart-birinchi ajratilgan matn belgisi indeksini qaytaradi; SelText-tanlangan matnni qaytaradi. Readonly-Edit oynasida matnni tahrirlashni taqiqlaydi. Matn-string turi AnsiString. Raqamli ma'lumotlarni satrga avtomatik ravishda o'zgartiradi. MaxLength-Edit oynasiga kiritilgan belgilarning maksimal sonini belgilaydi. MaxLength-ni 0-ga o'rnatsangiz, matn kiritish uzunligi cheklanmaydi. Modified-tahrirlash oynasida matnni tahrirlash yoki yo'qligini aniqlaydi. PasswordChar-Edit oynasini parol kiritish oynasiga aylantirish orqali barcha kiritilgan belgilarni maskitadi. Har qanday qiymati oladi, qaysi satrda har bir belgi o'rniga beradi. Odatda "#0", ya'ni nol belgisi ko'rsatiladi. Download 245.04 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling