MFC С++. Tab control. Вкладки и окна.

Subscribers:
62
Published on ● Video Link: https://www.youtube.com/watch?v=lBnvVY5ghsM



Duration: 15:18
957 views
22


Для инициализации вкладок нужно привязать к ней переменную.

Для инициализации каждой вкладки нужна метод InsertItem(0, L"Первый"), где первый аргумент это индекс вкладки (от нуля), а второй это текст вкладки.

Для того, чтобы на определённой вкладке отображались определённые элементы, мы кликаем по вкладкам 2 раза. Появляется функция. В ней мы должны скрыть элементы, которые не должны находиться на определённой кладке.
Метод GetCurSel() возвращает индекс текущей вкладки.
Метод ShowWindow() с аргументом 0 скрывает элемент, с аргументом 1 делает элемент видмым.

Для создания диалогового окна нужно добавить его в ресурсы проекта, создать класс для нового диалогового окна, подключить его к основному окну с помощью #include "NewDIalog1.h". (место NewDialog1 может быть другое имя)
После этого нужно создать объект класса NewDIalog.
NewDoalog1 Dialog1 - создание объекта Dialog1 класса NewDialog1.
После этого в функции нажатия на кнопку можно написать метод DoModule(), но в этом случае мы не будем иметь доступ к другим частям программы до тех пор пока открыто новое окно.
Поэтому мы создаём новое окно заранее методом Create(IDD_DIAOG1, this), где первый аргумент это ID окна и в функции кнопки мы просто делаем это окно видимым.

Для перемещения значений из одного поля одного окна в другое поле другого окна нам нужно в главном файле (где мы имеемм доступ ко всем трём окнам) создать переменную CString str, через которую мы будем передавать значение. При наэатии на кнопку на каждом окне мы сначала копируем значение из поля в переменную str, затем копируем значение переменной str в поля других окон.
Взятие значения из поля осуществляется с помощью метода GetWindowTextW().
Присваивание нового значения полю осуществляется с помощью метода SetWindowTextW().

Если мы в функции кнопки принадлежащей первому окну обращаемся к какому-то элементу другого окна, то мы перед элементом должны написать имя окна.
Т.е. в функции NewDialog1::OnBnClicked мы можем писать input1.GetWindowTextW(), т.к. поле input1 принадлежит классу NewDIalog1, а место input2.SetWindowTextW() мы должны писать
Dialog2.input2.SetWindowTextW().

Всем спасибо за просмотр)







Tags:
MFC
Tab
controll
TabControll
вкладки
окна
Диалоговое окно
диалог
visual
c++
studio