Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Вниз

Запрещение Alt + F4   Найти похожие ветки 

 
Lord BDV   (2002-01-28 20:15) [0]

Приветствую, Мастера.
Подскажите, пожалуйста, как сделать так, чтобы форму моей программы нельзя было закрыть стандартными средствами с клавиатуры (например, такими, как Alt + F4).


 
DeCompiler   (2002-01-29 00:06) [1]

На событие OnKeyPress (или OnKeyDown? память никуда :) отлавливай следующее:


if (Key = VK_F4) and (ssAlt in Shift) then
//FuckUP :)
Key := 0;


Впрочем, если очень надо, прогу можно затерминатить из великой комбинации из трех пальцев... Смотри в SystemParametersInfo, дальше параметр SPI_SCREENSAVER_RUNNING...

Успехов.


 
Back   (2002-01-29 00:09) [2]

Mona:=Boolean;// типа закроем или нет


procedure Form1.Create()
..
Mona:=False;
..
..

Procedure ()
..
Mona:=True;// тоесть если в данном случае нам уже надо её закрыть
ну можно использовать и такое:
Application.Terminate;
..
..

procedure Form1.Close();
begin
If Mona then Action:=caFree
else Action:=caNone;
end;

ну вот и всё






 
Kirill   (2002-01-29 12:19) [3]

Можно без
Application.Terminate;
на событии OnCloseQuery() ставишь CanClose:=Mona;
В обработчике меню или на кнопке где выключаете прогу Mona:=true;


 
novomod   (2002-01-31 14:56) [4]

при событии OnCloseQuery пишешь CanClose:=false; и всё!!!



 
kaif   (2002-01-31 15:09) [5]

Можно круче:
в OnCloseQuery вписать:
raise Exception.Create(
"Кто это тут мою форму пытается закрыть?"+#13+
"Для закрытия формы обратитесь к системному администратору");


 
Johnmen   (2002-01-31 15:09) [6]

>Back & >Kirill & >novomod : мужики, надо же отвечать на поставленный вопрос !, как это сделал DeCompiler, забыв упомянуть, что Form1.KeyPreview:=True;


 
Johnmen   (2002-01-31 15:11) [7]

>>>kaif : кайфово !!!!!!!!!!!!!!!


 
Kirill   (2002-01-31 16:32) [8]

2Johnmen:
А на что я по-вашему ответил?


 
Johnmen   (2002-01-31 16:54) [9]

>Kirill : по-моему, вы ответили на вопрос, как предотвратить закрытие формы по любому, причем еще и заводя переменную Mona,
а изначальный вопрос...
нельзя было закрыть стандартными средствами с клавиатуры (например, такими, как Alt + F4).


 
Kirill   (2002-01-31 17:32) [10]

2Johnmen:
Вы ошиблись. Для наглядности приведу пример:
type
Form1 = class(TForm)
...
mnExit : TMenuItem
...
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(...);
procedure mnExitClick(...);
private
Mona : boolean;
...
end;

procedure Form1.FormCreate(Sender: TObject);
begin
Mona:=false;
end;

procedure Form1.mnExitClick(...);
begin
Mona:=true;
Close;
end;

procedure Form1.FormCloseQuery(...)
begin
CanClose:=Mona;
end;


 
Johnmen   (2002-01-31 17:43) [11]

> Kirill : да я не спорю, что так можно и так работает,
я просто говорю, что было Запрещение Alt + F4 (см. заголовок вопроса), а это лучше делать см. DeCompiler


 
Kirill   (2002-01-31 17:57) [12]

Я развил ответ Back"а!
Мой ответ тоже подходит. А какой использовать - выбор автора. :-)


 
Back   (2002-02-01 00:27) [13]

Нифига себе, пока меня небыло вы тут такое ..... ТАКОЕ развернули. Я просто предложил, сам так делаю, а вы ???
Давайте смотреть проще



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

Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.004 c
14-42871
creepster
2001-12-19 18:54
2002.02.14
CGI


1-42747
perov
2002-01-30 09:48
2002.02.14
работа с объектами в TStringList


3-42685
NOV
2002-01-21 12:38
2002.02.14
alias


3-42690
wicked
2002-01-22 12:03
2002.02.14
ADO 2.6 и 2.7


7-42887
aguliver
2001-11-06 06:52
2002.02.14
Как обработать данные с микрофона в Real-Time





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский