Visual C на матрицата под формата на

Visual C ++: от форма за образуване

Пример строителство и форми на софтуер за повикване

Този код може да се направи, например, чрез натискане на бутон в основната форма Form1.

За да добавите един клик манипулатор програмно генерирани бутон BUTTON2 достатъчно преди последния ред на код, за да напишете:

- преди метода form2-> ShowDialog се нарича () или form2-> Покажи ();

В този случай, кодът за манипулатор се поставя в текущата Form1.h модула.

Причина различна форма от основната форма

В менюто изберете Project - Добавяне на нов елемент - форма - име ФОРМА2

преди първото пространство от имена в Form1.h (тоест, в самото начало на файла).

Ще включва указател към инстанция на класа в клас секцията Form1 на обществеността.

Добавете кода там, където искате да създадете и се обадете на втория вид:

За да премахнете програмен втората форма, подходяща код

Нека да се опишат необходимите данни в категорията форма Form1 Тогава инициализира данните за товара случай на основната форма (тук име и пространство от имена табулатор на проект, ако е необходимо, да го замени с неговата.):

След изпълнение на код, за да се създаде друга форма

Ако искаме да създадем дете форми не са сами, но в рамките на основната форма, свойствата на Form1 следва да се посочи, че тя е "предшественик" (задаване на имота IsMdiParent = вярно), но преди прожекцията на детето формира оператора F2 [FormCount-1] -> Show ( ), за да го маркирате като дете на Form1:

Причина за детето образуват метода на родителска форма

Едва ли можем да направим, без да привличат .cpp файл, което не е лошо - да пишат код в .h файловете правилно Si'shnika обикновено разгражда :)

Изписва процеса стъпка по стъпка.

1) има два форма - Form1 и ФОРМА2. разположен на Form1 Бутон (button1. Ще се отвори втори вид) и етикет (label1. Тук ние ще се промени текста). На ФОРМА2 - button1. чрез натискане на която ще настъпи промяната в текста на label1.

2) Тъй като ние сме първата форма на необходимостта да има достъп до втория и от втория до първия, там ще възникне проблем с препратки (когато Form1.h отнася до Form2.h. Което, от своя страна, отново посочен Form1.h) , За да избегнете това, първата форма код (Form1), които ще имат достъп до втората форма (ФОРМА2), ние се премества от .h файл във файла .cpp. По този начин необходимостта от създаване на Form1.cpp файл.

3) За да се обяви публично метод Set Form1.h, за да бъде в състояние да се промени текста на label1 (код може да бъде написана в края на файла след endregion на #pragma):

4) файл Form2.h свържете Form1.h (в началото):

и да се създаде конструктор, който ще приема и съхранява позоваване на първата форма за по-нататъшна употреба: // непосредствено под долната връзка може да бъде предписана: лично: Form1 ^ parentForm;

5) С натискането на бутона в ФОРМА2 ще призове метода Определете основната форма:

Form1.cpp код във файла.

В Form1.h вмъкнете само ред:

Това е всичко. Можете да събира и тества проекта, архивът като прикачен файл:

За да се установи взаимодействието на двете форми

В действителност, само за развитието на идеи. Тук първата форма е в състояние да предава данни в текстовото поле на втория и обратно. Сега те не са един на друг "скрит", така че да можете да създадете много копия на втората форма.