• NAZORAT SA VOLLARI
  • Muloqot oynalarini yaratish




    Download 1,83 Mb.
    bet114/131
    Sana13.05.2024
    Hajmi1,83 Mb.
    #228405
    1   ...   110   111   112   113   114   115   116   117   ...   131
    Bog'liq
    Tiplarni dinamik tarzda

    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.

    1. 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.

    1. 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.

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

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

    4. 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.



    1. 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.

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

    label1->Text = myFormWith->email;



    1. 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 foydalanuvchilariga 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


    1. Muloqot oynada nimalar aniq ko‘rsatilishi kerak?

    2. [Dialogs] tab oynasida joylashgan muloqot komponentalarini sanab bering?

    3. ColorDialog komponentasining vazifasini ayting?

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

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

    6. MessageBox sinfnining show funksiyasi paramertlarini sanab bering?

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

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

    9. Foydalanuvchi tomonidan yaratiladigan muloqot oynasi qanday yaratiladi.

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

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

    12. Download 1,83 Mb.
    1   ...   110   111   112   113   114   115   116   117   ...   131




    Download 1,83 Mb.