Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что писать в 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо