![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что писать в OnCloseQuery?
Wish © (2004-10-12 18:25:00)Что писать в OnCloseQuery? Если я хочу создать вопрос типа "Вы хотите сохранить изменения?" с вариантами ответа: Да, Нет, Отмена. Помогите пожалйста.
Cardinal (2004-10-12 18:34:00) [1]
var saved: boolean; {переменная, определяющая, сохранены ли сейчас изменения}
...
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if not saved then {если изменения не сохранены - выдаем вопрос и анализируем ответ}
case application.MessageBox('Сохранить базу перед выходом?','Каталог адресов',MB_YESNOCANCEL+MB_ICONQUESTION) of
ID_YES: begin {здесь надо вставить сохранение изменений}; canclose := true; end; {если да, то сохраняемся и разрешаем закрыть прогу}
ID_NO: canclose := true; {если нет, то разрешаем закрыть прогу}
ID_CANCEL: canclose := false; {если отмена, то не разрешаем закрыть прогу}
end;
end;
begin...end (2004-10-12 18:32:00) [2]
procedure TFormName.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
Answer: Integer;
begin
Answer := Application.MessageBox('Подтверждение', 'Вы хотите сохранить изменения?', MB_YESNOCANCEL + MB_ICONQUESTION);
if Answer = ID_YES then SaveChanges;
CanClose = not (Answer = ID_CANCEL);
end;
snake1977 (2004-10-12 18:28:00) [3]if MessageBox(0,'Вы хотите сохранить изменения?','Выход',MB_YESNO+MB_ICONQUESTION)=id_yes Then
Begin
//типа сохраняем изменения тут
End;