Лабораторная работа №11. Работа с элементом управления "Окно списка" (ListBox) - Технология разработки программного обеспечения систем управления
Цель Работы - научиться использовать элемент управления ListBox а также основные методы класса СListBox. Использование возможности контроля правильности ввода исходных данных.
- Теоретические сведения
Класс CListBox
Класс CListBox обеспечивает функционирование окна списка. В окне списка могут отображаться различные элементы, которые пользователь может просматривать и выделять.
Окно списка имеет два режима выделения элементов:
- - единичный выбор, т. е. может быть выделен только один элемент списка; - множественный выбор, т. е. в списке одновременно могут быть выделены несколько элементов.
Окно списка может содержать как один столбец, так и несколько столбцов с элементами.
Основные Методы Данного Класса
Для добавления строки в список в классе CListBox объявлена функция:
Int AddString( LPCTSTR lpszItem );====07.02.03
Здесь параметр lpszItem - указатель на нуль - терминированную строку, добавляемую в список.
Функция возвращает номер строки в списке, перед которой добавлялся текст, причем первая строка имеет нулевой индекс.
Кроме того данный класс имеет такие методы как:
- - int GetCount() const; при успехе метод возвращает количество элементов в окне списка; - void SetColumn(int Wingth); метод устанавливает ширину всех колонок списка; - int GetCutSel(); метод возвращает индекс выделенного элемента списка; - int DeleteString(UINT n); метод удаляет строку с индексом n; - int InsertString(int n, LPCTSTR lpszItem); метод вставляет в указанное место n строку, если индекс n равен -1, то строка будет добавлена в конец списка.
Если в процессе работы функций возникла ошибка, то возвращается величина LB_ERR, если эта ошибка была связана с нехваткой памяти для хранения новой строки, то возвращается величина LB_ERRSPASE.
Для очистки всего списка объявлена функция:
Void ResetContent( );
Эта функция не получает и не возвращает параметры.
Пример Реализации Программы
Задание: Написать и отладить программу, которая выводит таблицу функций
Для х изменяющихся от Х1 до Х2 с шагом Н. Программа должна выглядеть как представлено на рисунке 1.
Рисунок 1.- Результат работы программы
Для решения задачи необходимо проделать следующие действия:
- 1) Создать при помощи MFCAppWizard(exe) новый проект (предварительно выбрав путь и имя) типа Dialog based. 2) Используя панель Controls, нанести на Dialog - 4 элемента типа Edit Box и Static Text (объединив их элементом Group Box), 2 - Buttons и 1 - ListBox для вывода результатов. Установить нужные свойства и надписи. 3) При помощи ClassWizard через закладку Member Variables связать поле Edit1 с переменной m_x1, выполнив команду ClassWizard/Member Variables, сделать щелчок на IDC_EDIT1, щелчок на Add Variable и в появившейся закладке в поле name: m_x1 тип: double и щелчок на OK, установить диапазон: Minimum Value: 0.1; Maximum Value: 0.3;
По аналогии связать:
Edit2 - с m_х2 тип: double, диапазон: 0.7 -0.9;
Edit3 - с m_h тип: double, диапазон: 0.1 -0.2;
Edit4 - с m_n тип: int, диапазон: 5 -20.
Элемент ListBox связать с m_l, назначив Category: Control, установив тем самым для данного объекта тип CListBox, т. е. для данного объекта можно вызывать методы по всей цепи иерархии данного класса MFC. Так для стирания окна вывода в обработчик щелчка на кнопке CLEAR можно вызвать следующий метод: m_l. ResetContent().
В обработчике щелчка на кнопке "RUN" введенные в класс диалога переменные m_х1, m_х2, m_h, m_n, при помощи циклических алгоритмов (внешний - по x а внутренний цикл - по параметру i для вычисления суммы для текущего аргумента) написать текст программы решения поставленной задачи.
Для вывода информации о разработчике и введенных исходных данных необходимо воспользоваться методом класса ListBox - AddString:
UpdateData(TRUE);
Str. Format("Разработка Иванова И. И");
M_l. AddString(str);
UpdateData(FALSE);
Str. Format("Исходные данные: x1=%.2lf, x2=%.2lf, h=%.2lf, n=%2d",
M_x1,m_x2,m_h, m_n);
M_l. AddString(str);
UpdateData(FALSE);
Участок вывода текущей строки таблицы в окно результатов может быть таким:
Str. Format("при x=%.2lf, Summa=%.2lf, точное значение=%.2lf",x, s,y);
M_l. AddString(str);
UpdateData(FALSE).
- 4) Находясь в режиме конструктора диалога командой Layout/Tab Order, установить очередность перехода между элементами управления: 1 - Edit1; 2 - Edit2; 3 - Edit3; 4 - Edit4; 5 - Button RUN; 6 - ListBox; 7 - Button CLEAR; 8 - Button OK; 9 - Button Cancel, а для кнопки "RUN" установить свойство "Default". 5) Работа с программой:
Запустить проект и в появившемся диалоговом окне щелкнуть на "ОК"
Рисунок 2. - Окно подсказки
Появится MessageBox с подсказкой о диапазоне вводимого х1 (рисунок 2):
Щелкнуть "ОК", введите начальное значение аргумента х (поле с подсветкой) и опять щелкнуть на "ОК". По аналогии ввести значения для x2, h, n. Для выполнения задания щелкнуть на "RUN". Щелчок на кнопке "CLEAR" стирает значения в окне вывода.
- - Варианты заданий 1. 2. 3. 4. 5. 7. 8. 9. 10. 11. 12. 13. 14. 15. - Контрольные вопросы 1. В чем заключается роль класса CListBox в MFC? 2. Назовите основные методы класса CListBox. 3. Перечислите основные этапы создания списка.
Похожие статьи
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Объект ориентированный класс программирование Цель Работы - изучить методику создания одномерных динамических символьных массивов при помощи...
-
Цель Работы - изучить основные способы работы с пользовательским типом данных "класс", его объектами, методами и способы доступа к ним. - Теоретические...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Цель Работы - изучить принципы работы элементов управления Progress и Slider. Получить навыки по самостоятельному созданию модальных диалоговых окон. -...
-
Цель Работы - изучить одну из базовых концепций ООП, наследование классов в С++, заключающуюся в построении цепочек классов, связанных иерархически,...
-
Введение - Технология разработки программного обеспечения систем управления
С++ является языком объектно-ориентированного программирования (ООП). Объект - абстрактная сущность, наделенная характеристиками объектов реального мира....
-
Проведем оценку эргономичности пользовательского интерфейса, заполнив таблицу 7.1. В ячейки, отражающие степень выраженности показателя, следует внести...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Для перехода в административный раздел системы необходимо выбрать пункт меню "Файл" > "Администратор", после чего откроется окно, показанное на...
-
Работа с контентом Контент системы содержит как отдельные медийные составляющие - текст, таблицы, ссылки, графику, так и связанные между собой....
-
Для реализации поставленной задачи методом конечных элементов будут использованы следующие программные обеспечения (ПО): - MATLAB - ПО и одноименный язык...
-
Цель Работы - научиться использовать операции динамического выделения и освобождения памяти на примере работы с одномерными и двумерными массивами, а...
-
Проведем сравнительную оценку напряженность процесса эксплуатации системы в процессе работы. Для этого заполним таблицу 7.2, в которой отражается степень...
-
1. Изучение теоретических аспектов использования: MS Word, MS Excel, MS Access, Paint и Photoshop... (ППО) Часть 1 : Руководство по выполнению...
-
В разработке системы принимал участие один инженер-программист. Длительность выполнения работ по проектированию и разработке системы представлена в...
-
Если в результате поиска на схеме по данным из таблицы будет найдено несколько экземпляров оборудования (т. е. с одинаковой маркировкой или...
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Устройство на операционной системе Android с поддержкой технологии NFC поддерживает три способа взаимодействия. Первый способ - режим чтения/записи. Этот...
-
Постановка задачи нечеткого управления Была рассмотрена задача по прогнозированию износа (в микрометрах) тормозных дисков автомобилей. Входные данные:...
-
Заключение, Список использованных источников - Разработка и сопровождение программного обеспечения
В ходе прохождения практики были получены и закреплены знания в области дисциплин "Конструирование программ и языки программирования" и "Основы...
-
Установка и системные требования приложения Для установки программы необходимо зайти в папку "Файловый менеджер [Setup]", и запустить файл "setup. exe"....
-
В результате проведенной работы были спроектированы и реализованы модули редактора и вебсайта. Были решены поставленные в работе задачи в полном объеме....
-
Разработка программного продукта - Автоматизированные системы управления и обработки информации
В большей степени программные продукты не являются монолитом и имеют конструкцию (архитектуру) построения - состав и взаимосвязь программных модулей....
-
Общие сведения о тестировании Данный раздел посвящен проведению тестирования клиентского приложения. Тестирование для серверной части системы не...
-
Структура системы В ходе разработки выпускной квалификационной работы использовались базы данных, созданные в среде MySQL Workbench, и создано клиентское...
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
В настоящее время систем видеонаблюдения на рынке продается очень много, и обычно бывает очень сложно принять правильное решение, выбрать нужное решение....
-
Так как количество выявленных вредных факторов не превышает пяти, то степень напряженности трудового процесса пользователя при работе с программным...
-
Лоцман: КБ относится к классу PDM-систем и предназначен для быстрого формирования и поддержания в актуальном состоянии электронного архива...
-
Особенностью API для коммуникации с СКУД является то, что авторизация методов происходит не с помощью токена, а с помощью проверки IP адреса клиента на...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
-
В организации ООО "Дружба" имеется различное оборудование. Оно подразделяется на офисную оргтехнику и профессиональное оборудование в цехе. Офис оснащен...
-
Обеспечение высокопомехоустойчивого обмена информацией в автоматизированных системах управлениях
При передаче цифровых данных в комплексах средств автоматизации управления войсками и оружием существует вероятность того, что принятые данные могут...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
Основная цель системы ДИСКОР - совершенствование оперативного управления работой железных дорог на основе более эффективного использования пропускной...
-
Работа с окном - Основы работы с системой MathCAD 2000 PRO
Как известно, система Windows позволяет быстро переключаться с решения одной задачи на решение другой (в частности, путем одновременного нажатия клавиш...
-
В данной курсовой работе были рассмотрены варианты описания структуры работы системы для регистрации пассажиров в аэропортах у стойки регистрации на...
Лабораторная работа №11. Работа с элементом управления "Окно списка" (ListBox) - Технология разработки программного обеспечения систем управления