Скачать 3.65 Mb.
|
Рисунок 16. Окно предупреждений функции MessageDlg (типа mtWarning)Этот вариант по своему применению практически не отличается от простейшего сообщения ShowMessage: пользователь просто уведомляется о какой-то ситуации, но ему не предоставляется возможности выбора дальнейших действий. Достоинства процедуры MessageDlg начинают проявляться, когда вам предоставляется возможность такого выбора. Например, следующий фрагмент программы выводит на экран информационное окно с двумя кнопками «OK» и «Cancel», с помощью которых пользователь может выбирать одно из двух возможных действий (рисунок 17.) MessageDlg("Вы хотите начать работу с TPageControl ?", mtInformation, TMsgDlgButtons() << mbOK << mbCancel, 0); Обратите внимание, что здесь системному параметру TMsgDlgButtons присваиваются значения двух кнопок mbOK и mbCancel. Это возможно потому, что переменная TMsgDlgButtons переменная является на самом деле массивом Рисунок 17. Информационное окно функции MessageDlg (типа mtInformation)Различие между окнами типа mtInformation и mtConfirmation состоит практически только в наименовании окна, что, конечно, делает диалог более точным и конкретным. Диалоговые окна, создаваемые процедурой MessageDlg, могут содержать большее количество кнопок, что создает хорошую базу для организации сложного диалога с большим количеством разветвлений. Это иллюстрирует следующий пример (рисунок 18.) MessageDlg( "Запись некорректна. Дальнейшие действия:\nУдалить(Yes)\nПропустить(Cancel)\nИгнорировать(Ignore)", mtError, TMsgDlgButtons()< Обратите внимание на использование управляющего кода \n в строке сообщений (см. выше ). Рисунок 18. Окно вывода сообщения об ошибке функции MessageDlg (типа mtError)Организация разветвлений с помощью функции MessageDlg Основное достоинство процедуры MessageDlg состоит в том, что её можно использовать в качестве функции, возвращающей в точку вызова некоторое значение, на основании которого можно принять решение о дальнейшем ходе вычислительного процесса. Это значение является цифровым, но для удобства его использования со стороны пользователя оно может выражаться в виде системных символьных констант, принимающих «значение» кнопки, нажатой пользователем. Эти константы имеют вид: mrYes, mrNo и т.д. Для организации разветвлений в диалоге функцию MessageDlg записывают как аргумент условного оператора if (см.следующий пример). Например, в следующем фрагменте диалога пользователь может нажать либо кнопку Yes, либо No. Если нажата кнопка Yes, на экране возникнет сообщение: «Вы выбрали кнопку Yes», если же пользователь нажал на изображение кнопки No, сообщение примет вид: «Вы нажали кнопку No» (рисунок 19.). if (MessageDlg( "Подтвердите удаление записи ", mtConfirmation, TMsgDlgButtons()< ShowMessage("Вы выбрали кнпку Yes"); else ShowMessage("Вы нажали кнпку No"); Рисунок 19. Реакция функции MessageDlg на кнпку Yes (слева) и на кнпку No (справа).Функция MessageDlgPos В распоряжении пользователя имеется также функция MessageDlgPos, во всем подобная MessageDlg, но отображающая диалоговое окно сообщений в заданном месте экрана. Вызов функции MessageDlgPos отличается от вызова MessageDlg присутствием координат X и Y, указывающих местоположение окна: MessageDlgPos ( <�строка сообщения>,<�тип окна>, <�набор кнопок>,<�кадр файла справки>, X,Y); где строка сообщения – произвольная строка типа AnsiString, текст которой появляется в окне тип окна указатель формы окна с помощью системных констант типа TMsgDlgType набор кнопок определитель количества и типа кнопок, появляющихся в окне с помощью системного указателя TMsgDlgButtons кадр файла справки номер кадра в справочном файле X, Y - координаты окна: При вызове MessageDlgPos диалоговое окно отображается в точке экрана с координатами X(по горизонтали) и Y (по вертикали) и далее система ожидает ответа пользователя. Координаты определяются целочисленными параметрами X и Y. Остальные параметры тождественны функции MessageDlg. Например, сообщение MessageDlgPos("Начало работы", mtWarning, TMsgDlgButtons()<< mbOK,0, Form1->Left , Form1->Top); в качестве координаты X использует левую границу формы Form1->Left, а как ординату – верхнюю границу формы. Поэтому сообщение будет выведено в верхний левый угол окна формы (рисунок 20). |
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования... Базы данных: учебно-методический комплекс /сост.: М. В. Копейкин, В. В. Спиридонов, Е. О. Шумова. Спб.: Изд-во сзту, 2010. – 175... |
Учебно-методический комплекс по дисциплине «Психология» Федеральное государственное образовательное учреждение высшего профессионального образования |
||
Учебно-методический комплекс по дисциплине « В. Дв. 2» Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |
Учебно-методический комплекс по дисциплине «Логопсихология» Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |
||
Уроках биологии в 7 классе. Группа Министерство образования и науки российской федерации министерство образования московской области государственное образовательное... |
Министерство образования и науки российской федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |
||
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |
Учебно-методический комплекс по дисциплине «Профилактика девиантного поведения» Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |
||
Учебно-методический комплекс по дисциплине «История русской литературы» Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |
Учебно-методический комплекс по дисциплине «Маркетинг в книжном деле» Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |