• NAZORAT SAVOLLARI
  • ColorDialog muloqot oynasining asosiy vazifasi va obʻyekti qanday yaratiladi.
  • Tiplarni dinamik tarzda aniqlash. Reja: Tiplarni dinamik tarzda aniqlash




    Download 0,81 Mb.
    bet124/143
    Sana20.07.2024
    Hajmi0,81 Mb.
    #268096
    1   ...   120   121   122   123   124   125   126   127   ...   143
    Bog'liq
    Tiplarni dinamik tarzda-fayllar.org

    Muloqot oynalarini yaratish. Foydalanuvchi tomonidan muloqot oynalarini yaratish oyna formasiga ishlov berish asosida amalga oshiriladi. Forma oynasiga muloqot oynasini o‘rnatish uchun quyidagi qadamlari bajarish lozim.


    • qadam. Menyudan foydlanib, [menu] → [project] → [addClass] → [CLR]



    → [Windows Form] buyruqlar ketma ketligi asosida yangi forma qo‘shiladi. Yoki, [menu] → [project] → [add New item] → [UI] → [Windows Form] ham bajarsa bo‘ladi.



    • qadam. Yaratilgan yangi forma oynasigi o‘tib, formaga quyidagicha ishlov beriladi. [Autosize] xususiyatning qiymatini [true] ga, [StartPosition] xususiyatining qiymatini [CenterParent]ga, [FormBorderStyle] xususiyati qiymatiga [none], [FixedDialog], [FixedToolWindows], [SizableToolWindows]larning birini o‘rnatish mumkin.



    • qadam. Forma oynasini o‘zinigz xolagandek loyihalashingiz mumkin. Masalan, bir label, inputBox va bir button joylashtiramiz, ularni ham kerakli xususiyatlari o‘rnatamiz.



    • qadam. Asosiy formaga o‘tib, unga #include "MyForm.h" sarlavha faylni qo‘shamiz. Bu muloqot oynasi uchun yaratilgan forma oynasi bilan ishlash uchun kerak.



    • Qadam. Asosiy formaga bir label va bir button joylashtiramiz. Tugmaning klik hodisasida muloqot oynasini chaqirish dastur fragmentini yozamiz.

      // MyForm myForm;


      // myForm.Show();
      // myForm.ShowDialog();
      MyForm^ myFormWith = gcnew MyForm();

      // myFormWith->Show(); myFormWith->ShowDialog();




      Dastur fragmentida izohga olib qo‘yilagan yordami ham muloqot oynalarni yaratish va chaqirish mumkin. Ammo ularni farqlari mavjud. Shuning uchun ularni hammasini shu dastur fragmentida keltirdik. Birinchi qatorda formani MyForm myForm oddiy obʻyekt sifatida yaratilgan. Uning birinchi Show() usuli hisoblanib, bu usul bilan muloqo oynasini chaqirish mantiqan xato, chuniki tizim oynani yaratadi va ustunlikni asosiy formaga beradi. Bu holda yaratilgan oyna bir lahzaga ko‘rinadi xolos. Ikkinchi usuli bu ShowDialog() usul yaxshi yondashuvlardan bo‘lib, muloqot formasiga o‘rnatilgan barcha xususiyatlarga rioya qiladi hamda foydalanish mumkin. Ikkinchi MyForm() konstruktordan foydalanib, gcnew operatori asosida yaratilgan, uning birinchi fuknsiya Show() ham oldingisiga o‘xshash bo‘lib, ammo ustunlikni foydalanuvchining o‘ziga qo‘yib beradi, yaʻni foydalanuvchi muloqot oynaga javob bermasdan turib, asosiy forma oynasiga o‘tishi mumkin. Ikkinchisi esa bu ShowDialog()usul yaxshi yondashuvlardan bo‘lib, muloqot formasiga o‘rnatilgan barcha xususiyatlarga rioya qiladi hamda foydalanish mumkin.




      • email = textBox1->Text; this->Close();


        qadam. Muloqot oynasini tugmasida quyidagicha algoritmni yozamiz. Muloqot oynasiga kiritilgan maʻlumotni asosiy formaga olib o‘tish uchun avval public: System::String^ email; kabi bir o‘zgaruvchi yaratib olamiz.



      • qadam. Asosiy formaning tugmasining hodisasiga yozilgan dastur fragmenti davomidan quyidagini qo‘shib qshyamiz.

      label1->Text = myFormWith->email;






      • qadam. Loyihani ishlatib yaratilgan, yaratilgan muloqot oynani ishlashini



      ko‘rish mumkin.
      Muloqot oynani yuqori darajada yaratish uchun unga yangi konstruktor yozish ham mumkin. Uni quyidagicha amalga oshiriladi.

      public: MyForm(System::String^ title)


      {
      InitializeComponent();
      _title = title;
      }


      public: System::String^ _title;


      //….
      private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {
      this->Text = _title;

      }
      // Aspsiy formada esa
      MyForm^ myFormWith = gcnew MyForm("Xabar"); myFormWith->ShowDialog();
      label1->Text = myFormWith->email;




      Bunday imkoniyat bilan foydalanuvchi uchun ixtiyoriy muloqot oynasini


      yaratish mumkin.
      Muloqot oynalaridan foydalanish dastur foy
      dalanuvchilariga ko‘plab qo‘layliklar yaratib beradi. Har bir dasturda bir asosiy oynaga kamida funksional imkoniyatiga qarab 4-5 ta muloqo oynalari bo‘ladi.

          NAZORAT SAVOLLARI



      • Muloqot oynada nimalar aniq ko‘rsatilishi kerak?



      • [Dialogs] tab oynasida joylashgan muloqot komponentalarini sanab bering?



      • ColorDialog komponentasining vazifasini ayting?



      • Qaysi komponenta foydalanuvchilar uchun papkalar ko‘rish, yaratish va tanlash imkonini beradigan muloqot oynasini ko‘rsatadi.



      • Interaktiv xabarlarni berish va aniq javoblarni olish Visual C++ da qanday sinfi mavjud.



      • MessageBox sinfnining show funksiyasi paramertlarini sanab bering?



      • MessageBoxOptions qanday obʻyekt tipi va nima vazifani bajaradi.



      • MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton obʻyektlarini birini qabul qiluvchi kengaytirilgan obʻyekt tipi nomini ayting.



      • Foydalanuvchi tomonidan yaratiladigan muloqot oynasi qanday yaratiladi.



      • Interaktiv muloqot oynalari kabi nimalarni yaratish va ularni boqarish, kerakli maʻlumotlarni olish uchun ishlatiladi.



      • Qaysi sinfning nomlar fazosi System.Windows va kutubxonasi PresentationFramework.dll hisoblanadi.

        1. ColorDialog muloqot oynasining asosiy vazifasi va obʻyekti qanday yaratiladi.



      • ColorDialog muloqot oynasidan foydalanish uchun qanday konstruktorni ishga tushirish lozim.



      • CanRaiseEvents xususiyatining vazifasini ayting?



      • komponentaga ilova qilinadigan hodisalar ro‘yxatini oladi xususiyat nomini ayting?



      • Muloqot oynasi ochilganda maxsus ranglarni yaratish uchun ishlatiladigan boshqaruv elementlari ko‘rinib turishini ko‘rsatuvchi qiymatni oladigan yoki o‘rnatadigan xususiyat nomini ayting?



      • Dispose() bu qanday usul?



      • Komponenta yoki uning konteyneri tomonidan taqdim etilgan xizmatni ifodalovchi obʻyektni qaytaradigan hodisani ayting?



      • Disposed hodisaning vazifasini ayting?



      • Foydalanuvchi umumiy muloqot oynasidagi yordam tugmasini bosganda sodir bo‘ladigan usul nomini ayting?



      • Foydalanuvchilarga kerakli komponenta uchun shrift va uning xususiyatlarini o‘rnatish imkonini beruvchi muloqot oynasini nomini ayting?



      • PrintPreviewDialog muloqot oynasi qaysi tabda joylashgan va vazifasini aniq aytib bering.



      • Dastur fragmentida bir StreamReader oqimi nima uchun yaratiladi.



      • Win32Window Interface nima uchun ishlatiladi.




      • Muloqot oynasida OK va Cancel tugmalarini o‘rnatish qayday amalga oshiriladi.



      • MessageBoxIcon muloqot oynalarida nima uchun ishlatiladi.



      • Qandaydir hodisa haqida faqat xato amal bajarilganligi haqida maʻlumot beruvchi muloqot oynasi uchun ikonka nomi va yozlishini tushuntirib bering.



      • Muloqot oynasida standart tugmalarni o‘rnatuvchi o‘zgarmaslarni belgilaydigan parametrni ayting?



      • RtlReading qaysi parametr uchun ishlatiladi va muloqot oynasida nima hodisa sodir bo‘ladi.



      • System::Windows::Forms::DialogResult r6 = MessageBox::Show(this, message, caption, MessageBoxButtons::OK, MessageBoxIcon::Question, MessageBoxDefaultButton::Button1, (MessageBoxOptions)0, "mspaint.chm", HelpNavigator::KeywordIndex, "ovals" ) – dastur fragmentini tushuntirib bering



      • Asosiy formaga yang forma qanday qo‘shiladi



      • Nima uchun [StartPosition] xususiyatining qiymatini [CenterParent]ga tenglashtiriladi.



      • ShowDialog() va Show() usullarining farqini tushuntirib bering.



      • Oddiy obʻyekt yaratish va konstruktor asosida obʻyektni yaratish farqini tushuntirib bering.



      • Muloqot oynalarni yaratishda foydalanuvchi yangi konstruktor yaratishi mumkinmi?



      • [menu] → [project] → [add New item] → [UI] → [Windows Form] ketma ketlik qanday amalni bajaradi.



      • Muloqot oynasidagi maʻlumotlarni qanday qilib asosiy formaga o‘tkazish mumkin.




      Download 0,81 Mb.
    1   ...   120   121   122   123   124   125   126   127   ...   143




    Download 0,81 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Tiplarni dinamik tarzda aniqlash. Reja: Tiplarni dinamik tarzda aniqlash

    Download 0,81 Mb.