Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Инициализация комбинированного поля    




Комбинированные поля инициализируются в методе OnInitDialog():   

BOOL CCombosDlg::OnInitDialog()      

{       

         CDialog::OnInitDialog();      

}            

Теперь можно переходить к инициализации комбинированного поля. Она выполняется практически так же, как и в предыдущем примере. При помощи ClassWizard создайте переменную, представляющую комбинированное поле, и присвойте ей имя m_combo. Она должна принадлежать к классу CComboBox. Методы класса CComboBoх перечислены в табл. 8.2.              

Таблица 8.2. Методы класса CComboBox

Метод Назначение
AddString Добавляет строку в конец списка комбинированного поля
CComboBox Конструирует объект класса CComboBox
Clear Удаляет текущий выделенный фрагмент в текстовом поле
Compareltem Вызывается для определения положения новой строки в отсортированном комбинированном поле с нестандартной прорисовкой
Copy Копирует текущий выделенный фрагмент в буфер обиена
Create Создает комбинированное поле как элемент Windows и связывает его с объектом CComboBox
Cut Удаляет текущий выделенный фрагмент и помещает его в буфер обмена
DeleteItem Вызывается при удалении пользователем строки из комбинированного поля с нестандартной прорисовкой
DeleteString Удаляет строку из списка
Dir Включает в список комбинированного поля имена файлов
Drawltem Вызывается, когда возникает необходимость в нестандартной прорисовке комбинированного поля
FindString Ищет в списке первую строку с заданным префиксом
FindStringExact Ищет в списке первую строку, которая точно совпадает с заданной
GetCount Возвращает количество строк в списке
GetCurSel Получает индекс текущей выбранной строки списка (если она есть)
GetDroppedControlRect Получает экранные координаты видимой части раскрывающегося списка
GetDroppedState Определяет, виден ли в данный момент раскрывающийся список
GetDroppedWidth Получает минимальную допустимую ширину раскрывающегося списка
GetEditSel Определяет позицию первого и последнего символов текущего выделенного фрагмента
GetExtendedUI Определяет, каким пользовательским интерфейсом обладает комбинированное поле — стандартным или расширенным
GetHorizontalExtent Возвращает количество пикселей, на которое список может прокручиваться по горизонтали
GetItemData Возвращает 32-разрядную величину, связанную со строкой списка
GetIternDataPtr Возвращает 32-разрядную величину, связанную со строкой списка, в виде указателя
GetItemHeight Определяет высоту строк в списке
GetLBText Получает текст строки из списка
GetLBTextLen Получает длину-строки в списке
GetLocale Получает идентификатор локального контекста для комбинированного поля
GetTopIndex Возвращает индекс первой отображаемой строки списка
InitStorage Выделяет блоки памяти для хранения строк списка
InsertString Вставляет строку в список
LimitText Ограничивает длину текста, который может вводиться пользователем в текстовое поле
MeasureItem Вызывается при создании комбинированного поля с нестандартной прорисовкой для определения его размеров
Paste Вставляет в текстовое поле содержимое буфера обмена
ResetContent Удаляет все содержимое списка и текстового поля
SelectString Ищет и выбирает строку в списке
SetCurSel Выбирает строку в списке
SetDroppedWidth Задает минимальную допустимую ширину раскрывающегося списка
SetEditSel Выделяет символы в текстовом поле
SetExtendedUI Задает пользовательский интерфейс комбинированного поля — стандартный или расширенный
SetHorizontalExtent Задает количество пикселей, на которое список может прокручиваться по горизонтали
SetItemData Задает значение 32-разрядной величины, связанной со строкой списка
SetItemDataPtr Присваивает 32-разрядной величине, связанной со строкой списка, заданный указатель
SetItemHeight Задает высоту строк списка или высоту текстового поля
SetLocale Задает идентификатор локального контекста "S для комбинированного поля
SetTopIndex Задает индекс первой отображаемой строки списка
ShowDropDown Отображает или скрывает список

ПОДСКАЗКА: Вы также можете связать переменную со значением комбинированного поля — им считается текущее содержимое текстов поля.

Как и в предыдущем примере, для занесения в список необходимых строк ("Строка 01" — "Строка 12") мы воспользуемся методом AddString():

BOOL CCombosDlg::OnInitDialog()      

{

CDialog: :OnInitDialog();

m_combo.AddString("Строка 01");

m_combo.AddString("Строка 02");

m_combo.AddString("Строка 03");

m_combo.AddString("Строка 04");

m_combo.AddString("Строка 05");

m_combo.AddString("Строка 06");

m_combo.AddString("Строка 07");

m_combo.AddString("Строка 08");

rn_combo.AddString("Строка 09");

m_combo.AddString("Строка 10");

m_combo.AddString("Строка 11");

m_combo.AddString("Строка 12");

// Добавить команду "About..." в системное меню.

}

Кроме того, необходимо выбрать из списка первую строку ("Строка 01"), чтобы при первом появлении комбинированного поля на экране в текстовом поле отображалось ее содержание (в противном случае оно окажется пустым):

BOOL CCombosDlg::OnInitDialog()

{

CDialog: :OnInitDialog();

m_combo.AddString("Строка 01");

m_combo.AddString("Строка 02");

m_combo.AddString("Строка 03");

m_combo.AddString("Строка 04");

m_combo.AddString("Строка 05");

m_combo.AddString("Строка 06");

m_combo.AddString("Строка 07");

m_combo.AddString("Строка 08");

rn_combo.AddString("Строка 09");

m_combo.AddString("Строка 10");

m_combo.AddString("Строка 11");

m_combo.AddString("Строка 12");

m_combo.SetCurSel(0);

// Добавить команду "About..." в системное меню.

 }

Перейдем к обработке возможных действий пользователя.










Последнее изменение этой страницы: 2018-04-12; просмотров: 334.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...