MFC. Инициализация и активизация пользовательского диалогового окна. — КиберПедия 

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

MFC. Инициализация и активизация пользовательского диалогового окна.

2022-10-29 30
MFC. Инициализация и активизация пользовательского диалогового окна. 0.00 из 5.00 0 оценок
Заказать работу

Инициализация диалогового окна:

MY_DIALOG TheDialog((LPTSTR) IDD_DIALOG1, this);

1-ый параметр: id диалогового окна, второй - владелец диалогового окна (можно задать текущее окно, т.е. this. Если нету владельца, то NULL).

MY_DIALOG - пользовательский класс производный от библиотечного класса MFC - CDialog. TheDialog - экземпляр класса MY_DIALOG, использующий конструктор с параметрами _DIALOG (char *DialogName, CWnd *Owner): CDialog(DialogName, Owner) { };

Активизация диалогового окна:

TheDialog.DoModal();

TheDialog - экземпляр класса MY_DIALOG, DoModal() - метод класса MY_DIALOG, запускающий диалоговое окно.

MFC. Диаграмма состояний пользовательского диалогового окна.

MFC. Языковое описание ресурса - диалоговое окно.

Описание в ресурсном файле:

 

Имя окна DIALOG x, y, width, height

CAPTION заголовок

STYLE WS_SYSMENU|…

{

<описание_ЭУ>

}

 

Диалоговые окна можно также создавать в редакторе ресурсов. Это средство разработки графических объектов, позволяющее быстро создавать сложные диалоговые окна с возможностью комбинировать, изменять и настраивать в соответствии с собственными требования­ми элементы окна, элементы управления.

 

MFC. Общая характеристика элементов управления.

Элементы управления:

- базовые (кнопки CButton, поля редактирования CEdit, списки CListBox, полосы прокрутки)

- расширенные (панели инструментов, закладки, окна просмотра)

В MFC существуют соответствующие классы, которые поддерживают элементы управления.

 

MFC. Общая технология использования элементов управления.

Элементы управления:

- базовые (кнопки, списки, полосы прокрутки)

- расширенные (панели инструментов, закладки, окна просмотра)

В MFC существуют соответствующие классы, которые поддерживают элементы управления.

 

ПОЛУЧЕНИЕ ДОСТУПА К ЭУ. Выполняется, например, путем получения указателя на ЭУ (например, окно редактирования класса CEdit или на дочернее окно диалогового окна или окна) с использованием метода класса CWnd ПОЛУЧИТЬ_ЭУ (ДескрипторЭУ, Указатель)

void CWnd::GetDlgItem (int ДескрипторЭУ, HWND* Указатель ) const;

или метода класса CWnd УКАЗАТЕЛЬ (ДескрипторЭУ)

CWnd * CWnd::GetDlgItem (int ДескрипторЭУ ) const;.

 

ПОЛУЧИТЬ_ТЕКСТ_ИЗ_ЭУ.

int CWnd:: GetDlgItemText (int ДескрипторЭУ, LPTSTR БуферПриемникСтроки, int ЧислоЧитаемыхСимволов ) const;

 

Вывод данных в окно:

void CWnd:: SetDlgItemText (LPCTSTR СтрокаВывода ); - устанавливает текст внутри окна и вызывает посылку сообщения WM_SETTEXT

MFC. Общая характеристика элемента управления - список.

Списки - это элемент управления (ЭУ) в составе окна. Все адресуемые ему сообщения являются сообщениями его окна, т.е. включаются в его очередь сообщений, а привязка к конкретному списку производится параметром сообщения - ID_Списка. Список хранит и поддерживает обработку множества строк, каждая строка имеет номер (от нуля) - индекс.

Относится к классу CListBox.

В файле ресурсов описывается командой LISTBOX. Список может посылать и принимать команды - сообщения. Например, “двойной щелчок на элементе списка” это событие, вызывающее сообщение LBN_DBLCLK. Чувствительность соответствующего окна, содержащего этот список, задается макрокомандой со стандартной ON_COMMAND-сигнатурой ON_LBN_DBLCLK(ID_Списка, ИмяОбработчикаСообщения).

Другие сообщения: - LBN_SELCHANGE - выбран другой элемент списка, макрокоманда

ON_LBN_SELCHANGE(ID_Списка, ИмяОбработчикаСообщения).

 

MFC. Чтение информации из элемента управления - окно редактирования.

1)получение указателя на окно редактирования (CEdit *) с использованием либо метода класса CDialog

ПОЛУЧИТЬ_УКАЗАТЕЛЬ_НА_ОКНО_РЕДАКТИРОВАНИЯ (ИдентификаторОкнаРедактирования, УказательНаОкноРедактирования)

Void GetDlgItem (int nID, HWND *phWnd)

или метода

УказательНаОкноРедактирования ПОЛУЧИТЬ_УКАЗАТЕЛЬ_НА_ОКНО_РЕДАКТИРОВАНИЯ (ИдентификаторОкнаРедактирования)

CWnd *GetDlgItem(int nID)

Для чтения информации используется метод GetWindowText.

Пример:

CEdit *pEditBox1 = (CEdit *) CDialog:: GetDlgItem(IDC_EDIT1);

i = pEditBox1 -> GetWindowText (InputStr,sizeof InputStr-1);


Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.017 с.