Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2009, 18:23   #1
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию Запрет на закрытие формы

Как можно сделать окно не закрываемым? т.е. чтобы кнопка закрытия была "прозрачной" и нажать на неё было нельзя (во многих приложениях есть такая фишка). Как её релизовать?
Хамяг вне форума Ответить с цитированием
Старый 05.01.2009, 18:56   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

в обработчике события OnClose формы:
procedure Form1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action :=caNone;
end;
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 05.01.2009, 23:11   #3
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию

maladoy нет. вы меня не совсем поняли. Ведь с помощью вашего дейстаия можно лишь блокировать закрытие! А мне надо именно отключить кнопку закрытия (т.е. чтобы она была видна, но ни при наведении, ни при нажатии ничего не было). Например, такая вишка есть при записывании дисков некоторыми программами, установке офиса 2007...
Хамяг вне форума Ответить с цитированием
Старый 05.01.2009, 23:18   #4
Sota
Let's keep talking
Форумчанин Подтвердите свой е-майл
 
Аватар для Sota
 
Регистрация: 02.07.2007
Сообщений: 217
По умолчанию

А может эту кнопку просто убрать?
Лучше С++, чем ++С...
Sota вне форума Ответить с цитированием
Старый 06.01.2009, 00:02   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от Хамяг Посмотреть сообщение
Как можно сделать окно не закрываемым? т.е. чтобы кнопка закрытия была "прозрачной" и нажать на неё было нельзя (во многих приложениях есть такая фишка). Как её релизовать?
Можете сделать так:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Var
SysMenu: HMenu;
Begin
SysMenu:=GetSystemMenu(Handle,False);
Windows.EnableMenuItem(SysMenu,SC_CLOSE,MF_DISABLED Or MF_GRAYED);
End;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 08.01.2009, 13:25   #6
mas00777
Пользователь
 
Регистрация: 03.07.2007
Сообщений: 18
По умолчанию

Подскажите пож как можно сделать чтобы допустим как в экселе нажимаеш закрыть а прога бы спрашивала сохранить или нет?
mas00777 вне форума Ответить с цитированием
Старый 08.01.2009, 13:37   #7
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Обработчик события OnClose для формы
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Application.MessageBox('Сохранить?','Внимание',mb_YesNo+mb_IconExclamation) = idYes then
    begin
      //здесь сохраняем что нужно
    end;
end;
_Dmitry вне форума Ответить с цитированием
Старый 08.01.2009, 14:08   #8
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Application.MessageBox('выйти?','Вн имание',mb_YesNo+mb_IconExclamation ) = idNO then
begin
abort; // и прога не выходит
end;
end;
Перед тем как спросить ищи на форуме и в GOOGLE

Последний раз редактировалось KORN; 08.01.2009 в 14:10.
KORN вне форума Ответить с цитированием
Старый 09.01.2009, 12:50   #9
mas00777
Пользователь
 
Регистрация: 03.07.2007
Сообщений: 18
По умолчанию

Ну да только я пробовал так

if Application.MessageBox('Сохранить?' ,'Внимание',mb_YesNoCancel+mb_IconE xclamation)=
idcancel then
begin
form1.Show; // и прога проста вылетает окно не открываеться
end;
end;
end.
mas00777 вне форума Ответить с цитированием
Старый 09.01.2009, 12:53   #10
mas00777
Пользователь
 
Регистрация: 03.07.2007
Сообщений: 18
По умолчанию

KORN Ты случайно не спробелом это запускал у тебя написанно ('выйти?','Внимание',mb_YesN o+mb_IconExclamation) а так все работает
mas00777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет на закрытие окна Bayazet Общие вопросы Delphi 4 25.12.2008 11:29
Закрытие формы MDIChild в MDI приложении Avalonix Общие вопросы Delphi 4 29.05.2008 16:45
Закрытие приложения Лёка Общие вопросы Delphi 7 09.03.2008 15:50
Запрет на закрытие программы John_chek Общие вопросы Delphi 2 04.05.2007 11:39
Запретить закрытие окошка формы крестиком "Х" Slim Microsoft Office Excel 5 28.03.2007 19:39