![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вывести окно диалога [D6, XP]
koleg © (2006-04-19 13:19:00)Уважаемые, подскажите пож-ста, чтоб при нажатии по кнопке Выход, появлялось диалоговое окно "Вы уверены" с кнопками (Да Нет). Где-то читал про это, но не могу найти.
Loginov Dmitry (2006-04-20 09:00:00) [1]
> Уважаемые, подскажите пож-ста, чтоб при нажатии по кнопке
> Выход, появлялось диалоговое окно "Вы уверены" с кнопками
> (Да Нет). Где-то читал про это, но не могу найти.
Имхо, сообщение лучше оформлять примерно так:
"Обнаружены несохраненные данные. Хотите ли вы их сохранить?"
[Да, Нет, Отмена]
В противном случае окно подтверждения выхода, имхо, бесполезно, и будет только раздражать ваших будущих пользователей.
Германн (2006-04-20 03:03:00) [2]А на TForm1.Button3Click нужно писать Application.MainForm.Close.
Это в дополнение к Джо © (20.04.06 01:03) [11]
Джо (2006-04-20 01:03:00) [3]> [10] koleg (20.04.06 00:01)
Этот код, как и указывал [3] Ega23, нужно написать в обработчике события OnCloseQuery главной формы приложения.
koleg (2006-04-20 00:01:00) [4]Ребят, ну а дальше то? Диалоговое окно получил, а как дописать код, чтоб по кнопке Yes приложение закрылось?
procedure TForm1.Button3Click(Sender: TObject);
var CanClose: Boolean;
begin
CanClose := MessageDlg ('Âû óâåðåíû, ÷òî õîòèòå âûéòè?',mtWarning,
[mbYes,mbNo],-1) = mrYes;
end;
Anatoly Podgoretsky (2006-04-19 18:45:00) [5]koleg (19.04.06 15:42) [6]
Ничего страшного, и более того обязательно.
Джо (2006-04-19 17:11:00) [6]>
> [6] koleg (19.04.06 15:42)
> На анлицком???? Ужассс!!!
Надо, Федя, надо! (c)
;)
koleg (2006-04-19 15:45:00) [7]В любом случае спасибо всем кто откликнулся. Чувствую, что придется еще не раз обратиться за помощью.
koleg (2006-04-19 15:42:00) [8]
> Подробно об этом можно почитать в хелпе.
На анлицком???? Ужассс!!!
GrayFace (2006-04-19 15:31:00) [9]> CanClose := MessageDlg ('Вы уверены, что хотите выйти?', mtWarning,[mbYes,mbNo],-1) = mrYes;
MessageBox лучше. "Пибикает" и кода лишнего нету. :)
По Handle: Help -> Windows SDK -> Указатель: "EnumWindows" -> кнопка "Group".
Джо (2006-04-19 14:29:00) [10]
> [2] koleg (19.04.06 14:25)
Можно и проще
CanClose := MessageDlg ('Вы уверены, что хотите выйти?',mtWarning,[mbYes,mbNo],-1) = mrYes;
> Или в книжный магазин придется шагать?
Это обязательно :)
Ega23 (2006-04-19 14:28:00) [11]Handle - это идентификатор окна в системе, в рамках которого будет показан MessageBox.
PChar - это такой тип данных.
Подробно об этом можно почитать в хелпе.
koleg (2006-04-19 14:25:00) [12]Handle, PChar-что это? дайте пож-ста линк где можно почитать об этом. Или в книжный магазин придется шагать?
Ega23 (2006-04-19 13:26:00) [13]Главная ворма, событие OnCloseQuery
procedure TFClassConfig.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose:=(MessageBox(Handle, PChar('Çàêîí÷èòü ðàáîòó?'), PChar('Âíèìàíèå!'),
MB_OKCANCEL or MB_ICONINFORMATION)=IDOK);
end;