Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.07;
Скачать: CL | DM;

Вниз

вывести окно диалога   Найти похожие ветки 

 
koleg   (2006-04-19 13:19) [0]

Уважаемые, подскажите пож-ста, чтоб при нажатии по кнопке Выход, появлялось диалоговое окно "Вы уверены" с кнопками (Да Нет). Где-то читал про это, но не могу найти.


 
Ega23 ©   (2006-04-19 13:26) [1]

Главная ворма, событие OnCloseQuery

procedure TFClassConfig.FormCloseQuery(Sender: TObject;
 var CanClose: Boolean);
begin
 CanClose:=(MessageBox(Handle, PChar("Çàêîí÷èòü ðàáîòó?"), PChar("Âíèìàíèå!"),
                       MB_OKCANCEL or MB_ICONINFORMATION)=IDOK);
end;


 
koleg   (2006-04-19 14:25) [2]

Handle, PChar-что это? дайте пож-ста линк где можно почитать об этом. Или в книжный магазин придется шагать?


 
Ega23 ©   (2006-04-19 14:28) [3]

Handle - это идентификатор окна в системе, в рамках которого будет показан MessageBox.
PChar - это такой тип данных.
Подробно об этом можно почитать в хелпе.


 
Джо ©   (2006-04-19 14:29) [4]


> [2] koleg   (19.04.06 14:25)

Можно и проще
CanClose := MessageDlg ("Вы уверены, что хотите выйти?",mtWarning,[mbYes,mbNo],-1) = mrYes;


> Или в книжный магазин придется шагать?

Это обязательно :)


 
GrayFace ©   (2006-04-19 15:31) [5]

> CanClose := MessageDlg ("Вы уверены, что хотите выйти?", mtWarning,[mbYes,mbNo],-1) = mrYes;

MessageBox лучше. "Пибикает" и кода лишнего нету. :)

По Handle: Help -> Windows SDK -> Указатель: "EnumWindows" -> кнопка "Group".


 
koleg   (2006-04-19 15:42) [6]


> Подробно об этом можно почитать в хелпе.

На анлицком???? Ужассс!!!


 
koleg   (2006-04-19 15:45) [7]

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


 
Джо ©   (2006-04-19 17:11) [8]

>
> [6] koleg   (19.04.06 15:42)
> На анлицком???? Ужассс!!!

Надо, Федя, надо! (c)
;)


 
Anatoly Podgoretsky ©   (2006-04-19 18:45) [9]

koleg   (19.04.06 15:42) [6]
Ничего страшного, и более того обязательно.


 
koleg   (2006-04-20 00:01) [10]

Ребят, ну а дальше то? Диалоговое окно получил, а как дописать код, чтоб по кнопке Yes приложение закрылось?
procedure TForm1.Button3Click(Sender: TObject);
 var CanClose: Boolean;
begin
  CanClose := MessageDlg ("Âû óâåðåíû, ÷òî õîòèòå âûéòè?",mtWarning,
  [mbYes,mbNo],-1) = mrYes;

end;


 
Джо ©   (2006-04-20 01:03) [11]

> [10] koleg   (20.04.06 00:01)

Этот код, как и указывал [3] Ega23, нужно написать в обработчике события OnCloseQuery главной формы приложения.


 
Германн ©   (2006-04-20 03:03) [12]

А на  TForm1.Button3Click нужно писать Application.MainForm.Close.
Это в дополнение к Джо ©   (20.04.06 01:03) [11]


 
Loginov Dmitry ©   (2006-04-20 09:00) [13]


> Уважаемые, подскажите пож-ста, чтоб при нажатии по кнопке
> Выход, появлялось диалоговое окно "Вы уверены" с кнопками
> (Да Нет). Где-то читал про это, но не могу найти.


Имхо, сообщение лучше оформлять примерно так:
"Обнаружены несохраненные данные. Хотите ли вы их сохранить?"
[Да, Нет, Отмена]

В противном случае окно подтверждения выхода, имхо, бесполезно, и будет только раздражать ваших будущих пользователей.



Страницы: 1 вся ветка

Текущий архив: 2006.05.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
3-1142487231
alex_pv2
2006-03-16 08:33
2006.05.07
ИМПОРТ В ACCESS


2-1145511694
alk
2006-04-20 09:41
2006.05.07
Как узнать где еще запущенна прогрмама


15-1144403066
Таня
2006-04-07 13:44
2006.05.07
Трудная задача по Информатике


2-1145025876
dera
2006-04-14 18:44
2006.05.07
Что неправильно в запросе?


3-1142492165
thvfrjd
2006-03-16 09:56
2006.05.07
значение null поля