НА ГЛАВНУЮ
Форматирование строк и окна сообщений
Эта группа содержит три глобальные функции: две для работы со строками и одну для вывода произвольного сообщения в блок диалога.
void AfxFormatStringl(
CStrings rString,
UINT nIDS,
LPCTSTR Ipsz)
Загружает строку из ресурсов, определяемую идентификатором nIDS, в объект rString с одновременной заменой шаблона "%1" на строку, указанную в Ipsz. Например, если в ресурсах определена строка "Для профессионального программирования 32-разрядных приложений — читайте книгу %1", a Ipsz указывает на
строку "<Программирование на Visual C++ 6.0>", то после выполнения этой функции rString будет содержать строку "Для профессионального программирования 32-разрядных приложений — читайте книгу программирование на Visual C++ 6.0>".
void AfxFormatString2(
CString& rString,
UINT nIDS, LPCTSTR Ipszl,
LPCTSTR Ipsz2)
Аналогична функции AfxFormatStringl, но используется два шаблона ("%1" и "%2") и две строки для подстановки, соответственно.
Последняя функция этой группы имеет две формы: со строкой текста и с идентификатором ресурса:
int AfxMessageBox(
LPCTSTR IpszText,
UINT nType = MB_OK,
UINT nIDHelp =0)
И
int AfxMessageBox (
UINT nIDPrompt,
UINT nType = MB_OK,
UINT nIDHelp = (UINT) -1)
Выводит текст в окно сообщений. Первая форма этой функции выводит в окно сообщений строку IpszText и использует идентификатор nIDHelp для перехода к соответствующей теме справки при нажатии клавиши <F1>. Вторая форма функции использует для определения текста идентификатор строки ресурса, задаваемый параметром nIDPrompt. Если в качестве nIDHelp используется значение по умолчанию, равное -1, то nIDPrompt задает тему справки.
Обе функции возвращают одно из следующих значений:
- IDABORT — нажата кнопка Abort
- IDCANCEL — нажата кнопка Cancel или нажата клавиша <Esc>
- IDIGNORE — нажата кнопка Ignore
- IDNO — нажата кнопка No
- IDOK — нажата кнопка ОК
- IDRETRY — нажата кнопка Retry
- IDYES — нажата кнопка Yes
- О — окно сообщений не может быть создано.
Параметр пТуре определяет тип окна сообщений и может принимать одно из следующих значений:
MB_ABORTRETRYIGNORE — содержит три кнопки Abort, Retry и Ignore (Стоп, Повтор и Пропустить)
MBJDK — содержит только кнопку ОК
MB_OKCANCEL — содержит две кнопки ОК и Cancel (OK и Отмена)
MB_RETRYCANCEL — содержит две кнопки Retry и Cancel (Повтор и Отмена)
MB_YESNO — содержит две кнопки Yes и No (Да и Нет)
MB_YESNOCANCEL — содержит три кнопки Yes, No и Cancel (Да, Нет и Отмена)
Кроме того, можно использовать следующие константы для определения степени модальности окна сообщений:
- MB_APPLMODAL — модальность на уровне пользователя
- MB_SYSTEMMODAL — модальность на уровне системы
- MB_TASKMODAL — модальность на уровне процесса
Примечание
В скобках приведены названия для русскоязычной версии системы Windows.
Помимо кнопок, в окне сообщений можно разместить одну из предопределенных (системных) пиктограмм (рис. 1.1 — 1.4).
Рис. 1.1. MB_ICONEXCLAMATION— восклицательный знак
Рис. 1.2. MB_ICONINFORMATION— пиктограммы в виде символа "i"
Рис. 1.3. MB_ICONQUESTION— знак вопроса
Рис. 1.4. MB_ICONSTOP — пиктограмма "стоп"
При использовании в блоке сообщений более одной кнопки можно также установить кнопку по умолчанию:
- MB_DEFBUTTONl — по умолчанию первая кнопка
- MB_DEFBUTTON2 — по умолчанию вторая кнопка
- MB_DEFBUTTON3 — по умолчанию третья кнопка А теперь переходим собственно к структуре библиотеки
MFC.
|