• Belgilarni tartibga soling .
  • // Asosiy oynani yarating. TMDIFrame *wndw= yangi
  • MDICHILD.H sarlavha faylini
  • CmCreateChild( ) CmCreateChildren() , CmCascadeChildren() Va CmTileChildren() . TMDIClient
  • Bajarilishi kerak bo'lgan vazifa




    Download 183,36 Kb.
    bet48/64
    Sana13.05.2024
    Hajmi183,36 Kb.
    #230077
    1   ...   44   45   46   47   48   49   50   51   ...   64
    Bog'liq
    Системное программирование, практика

    Bajarilishi kerak bo'lgan vazifa:
    MDI ilovasini matn muharriri sifatida yarating .
    Amalga oshirish tartibi:
    Jamoa tanlang Yaratmoq yangi bola oynasini yaratish uchun MDI . Bir nechta ichki oynalarni yaratganingizdan so'ng, siz buyruqlardan foydalanishingiz mumkin Kaskad Va Plitka ularni mijoz oynasiga mos ravishda joylashtirish uchun. Derazalarni piktogrammalarga qisqartiring, piktogrammalarni mijoz oynasi atrofida joylashtiring va keyin buyruqdan foydalaning Mijoz oynasining pastki qismidagi piktogrammalarni qatorga joylashtirish uchun Belgilarni tartibga soling . Nihoyat, jamoani tanlang Hammasini yopish barcha kichik oynalarni bir vaqtning o'zida yopish uchun (siz faqat bitta oynani yopish uchun istalgan oynaning tizim menyusidan foydalanishingiz mumkin).
    Avval funktsiyaga qarang InitMainWindow() :
    bekor TApp::InitMainWindow()
    {
    // Mijoz oynasini yarating.
    TMDIClient *clientTWndw = yangi TMDIClientTWndw;
    // Asosiy oynani yarating.
    TMDIFrame *wndw= yangi TMDIFrame("MDI ilovasi ",MENU_1,*clientTWndw);
    // Ilovaning MainWindow ko'rsatkichi qiymatini o'rnating.
    SetMainWindow(wndw);
    }
    InitMainWindow() avval dastur mijoz oynasini quradi. Har biri MDI - ilova boyqush sinfdan olingan mijoz oynasiga ega bo'lishi kerak TMDIClient . Bu xuddi MDICHILD.H sarlavha faylini kiritishingiz kerak degan ma'noni anglatadi MDI.H , dasturingizga kiriting. Ushbu dastur o'zining mijoz oynasi sinfiga ega, bu, albatta, sinfdan kelib chiqadi TMDIClient OWL TMDIClient , o'z navbatida, dan olingan Ikki oyna uchun xabarlarga javob berish funksiyalarini taqdim etadi Menyudagi MDI buyruqlari Deraza , ichkarida raqam qaysi kiritilgan CmCreateChild( CmCreateChildren() CmCascadeChildren() Va CmTileChildren() TMDIClient shuningdek, menyular uchun buyruqlar mavjudligi kalitlarini ham o'z ichiga oladi Menyu buyruqlarini yoqish va o'chirish haqida tashvishlanmaslik uchun oyna Oyna . Nihoyat, xususiyatlar GetActiveMDIChild() Va InitChild() TMDIClient sinfi faol bolalar oynasiga ko'rsatgich olish va maxsus bolalar oynalarini yaratish imkonini beradi MDI oynalari.
    Mijoz oynasini qurishni tugatgandan so'ng, dastur sinfning ob'ekti bo'lishi kerak bo'lgan asosiy dastur oynasini quradi. TMDIFrame (yoki undan olingan sinf TMDIFrame ). Konstruktor TMDIFrame parametr sifatida sarlavha satriga, menyu manbasi identifikatoriga va mijoz oynasiga havolaga ega. Sinf TMDIFrame dan keladi TFrameWindow va menyu joylarini topish va saqlash kabi vazifalarni bajaradi Oyna dasturlari. Bundan tashqari, bu sinf a'zo funktsiyasini belgilaydi GetClienTWindow() , bu ramka oynasining mijoz oynasiga ko'rsatgichni va funksiyani qaytaradi Oyna menyusining o'rnini sozlash uchun qo'ng'iroq qilishingiz mumkin bo'lgan SetMenu(). yangi menyu satrini o'rnatgandan so'ng.
    Dastur nafaqat mijoz oynasini, balki o'zining deb nomlangan versiyasini yaratadi TMDIClientTWndw dan keladi TMDIClient :
    TMDIClientTWndw sinfi : umumiy TMDIClient
    {

    Download 183,36 Kb.
    1   ...   44   45   46   47   48   49   50   51   ...   64




    Download 183,36 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Bajarilishi kerak bo'lgan vazifa

    Download 183,36 Kb.