Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабор_работа №4.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.42 Mб
Скачать

Лабораторная работа №3

СОЗДАНИЕ МНОГООКОННОГО ПРИЛОЖЕНИЯ НА ЯЗЫКЕ VC++ 6.0.

1. Цель работы: разработать многооконное приложение в среде Microsoft Developer Studio (Visual C++).

  1. Краткие теоретические сведения.

2.1. Функция AfxMessageBox().

Данная функция предназначена для вывода сообщения пользователю. Синтаксис вызова функции следующий:

int AfxMessageBox( LPCTSTR Text, UINT Type = MB_OK, UINT IDIcon = 0);

где Text – текстовая строка сообщения, Type – тип набора кнопок, отображаемых в окне сообщения, IDIcon – тип иконки.

Параметр Type может иметь следующие значения, определяющие набор кнопок, отображаемых в окне сообщения:

MB_ABORTRETRYIGNORE – Кнопки Abort, Retry, и Ignore;

MB_OK – Кнопка OK (по умолчанию);

MB_OKCANCEL – Кнопки OK и Cancel;

MB_RETRYCANCEL – Кнопки Retry и Cancel;

MB_YESNO – Кнопки Yes и No;

MB_YESNOCANCEL – Кнопки Yes, No и Cancel.

Параметр IDIcon может иметь одно из следующих значений, определяющий вид изображения-иконки, отображаемого в окне сообщения:

MB_ICONEXCLAMATION

MB_ICONINFORMATION

MB_ICONQUESTION

MB_ICONSTOP

Возвращаемое значение: идентификатор нажатой кнопки, который будет представлен одним из следующих значений:

IDABORT – была нажата кнопка Abort;

IDCANCEL–  была нажата кнопка Cancel;

IDIGNORE – была нажата кнопка Ignore;

IDNO – была нажата кнопка No;

IDOK – была нажата кнопка OK;

IDRETRY – была нажата кнопка Retry.

Примеры.

  1. Вывод сообщения в окно с кнопкой OK:

AfxMessageBox(" Сообщение ");

или

AfxMessageBox(" Сообщение ",MB_OK);

  1. Вывод сообщения в окно с кнопками OK и CANCEL:

AfxMessageBox(" Запустить? ",MB_OKCANCEL);

  1. Добавление иконки слева от сообщения:

AfxMessageBox(" Ошибка отправки данных ", MB_RETRYCANCEL | MB_ICONSTOP );

  1. Обработка возвращаемого значения функции:

if (AfxMessageBox(" Ошибка отправки данных ", MB_RETRYCANCEL)==IDCANCEL)

AfxMessageBox("нажата кнопка Cancel");

else

AfxMessageBox("нажата кнопка Retry");

2.2. Класс cListBox.

Данный класс предназначен для отображения текстовых строк в виде списка. Он позволяет добавлять текстовые строки в список и получать текст, содержащийся в каждой строке объекта класса CListBox. Ниже приведено описание некоторых методов класса CListBox.

  1. Метод AddString() позволяет добавить одну строку в список. Синтаксис вызова данного метода следующий:

int AddString(LPCTSTR str);

где str – объект класса CString или массив типа char, содержащий текст, который будет занесен в добавляемую строку.

Возвращаемое значение: индекс добавленной строки в списке, начинающийся с нуля.

Пример.

// Добавление 10 строк в объект класса CListBox.

CString str;

for (int j = 0; j < 10; j++)

{ str.Format("item string %i", j);

m_myListBox.AddString(str);

}

  1. Метод GetCount() определяет число строк в списке. Синтаксис вызова данного метода следующий:

int GetCount( );

Возвращаемое значение: количество элементов в списке.

Пример.

// Проверка, содержится ли в объекте класса CListBox 10 или более строк.

if (m_myListBox.GetCount() >= 10) оператор;

  1. Метод GetText() получает одну строку из списка. Синтаксис вызова данного метода следующий:

int GetText(int Index,LPTSTR str );

где str – объект класса CString или массив типа char, предназначенный для получения текста из одной строки списка, содержащегося в объекте класса CListBox, Index – индекс строки списка.

Возвращаемое значение: длина полученной строки в символах.

Пример.

// Вывод всех строк из списка на экран в виде сообщений.

CString str;

for (i=0;i< m_myListBox.GetCount();i++)

{ m_myListBox.GetText(i,str);

AfxMessageBox(str);

}

  1. Метод ResetContent() удаляет все элементы из списка. Синтаксис вызова данного метода следующий:

void ResetContent( );

Пример.

// Удаление всех строк из списка.

m_myListBox.ResetContent();