![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Guest |
|
|||
|
Unregistered |
Народ, как сделать так чтобы моё окно нельзя было закрыть по ALT+F4.
|
|||
|
||||
| Ars |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: нет Всего: 2 |
Надо отлавливать нажатие ALT+F4 и в это время и немного после игнорировать WM_SYSCOMMAND+SC_CLOSE. Наверное так.
-------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
|||
|
||||
| zemfir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
в VCL см canclose.
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
А есть и метод OnCanClose у любой формы. Переменная CanClose отвечает за то чтобы разрешить выход из программы или нет.
Можно сделать так:
Что-то в этом духе. Мог ошибиться в описаниях процедур, но сиысл должен быть понятен. |
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Pakshin A. S. достаточно просто на КэнКлоуз пистаь КэнКлоуз:=false
|
|||
|
||||
| Unregistered |
|
||||
|
Unregistered |
Pakshin A. S.
Что-то я его не нашел. Попробовал просто добавить процедуру
Делфи выдает на енто ошибку. |
||||
|
|||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
На самом деле нето OnCloseQuery, а внём уже пишеш CanClose:=False;
|
|||
|
||||
| zemfir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
надо было написать canclose и нажать кнопку F1;) |
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Попробуй так:
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Полудненко Олег
|
|||
|
||||
| Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
OnClose
Action:=caNone |
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Morpheus Вовчик, ты хоть сначала проверь свой пример)))))))
|
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin MessageDLG ('Иди в баню',mtError,[mbOK],0); CanClose:=false; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin MessageDLG ('Иди в баню',mtError,[mbOK],0); Action:=caNone; end; |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
А на кой фиг два раза выводить сообщение?
Тем более пользователь сможет закрыть приложение только по Ctrl+Alt+Del!!! А вопрос идёт только про Alt+F4... |
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Это два разных примера... |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Ааа... не врубился...
|
|||
|
||||
| -=::BlackCat::=- |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 12.7.2003 Где: растёт анаша? Репутация: 1 Всего: 6 |
Из всех перепробаваных у Pakshin A. S. был самый работующий способ -------------------- -=::BlackCat::=- такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать?? гррр, админ, форум косячит |
||||
|
|||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
-=::BlackCat::=- а смысл так много кода писать если мона намнога проще
|
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Тогда можно выставить некий флаг, что будет проверять, можно закрыть окно или нет... Ведь может быть не важно как пользователь хочет закрыть окно, через Alt+F4 или просто нажав кнопку закрыть...
Если нужно в какой то момент разрешить закрытие, то выставить нужный флаг StatusBar1.Tag:=0... и всё... А гемморой с перехватом нажатых клавиш, оно надо ? |
|||
|
||||
| -=::BlackCat::=- |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 12.7.2003 Где: растёт анаша? Репутация: 1 Всего: 6 |
2 Полудненко Олег:
Там вовсе не много, просто переменнои CanClose не существует и для нее мы используем CClose которую можем изменять, а потом уже как переменную в procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); указыват параметру CanClose. -------------------- -=::BlackCat::=- такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать?? гррр, админ, форум косячит |
|||
|
||||
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: 0 Всего: 10 |
Таким макаром пишутся вирусы чтоб альт+ф4 срабатывало когда открывается окно с заголовком АВП или нортони или ... и чтоб сам вирус если визуален на эту комбинацию не велся
-------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Georg4
|
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Это скорее для программ приколов... типа десктопиммитаторов...
|
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
dr.ZmeY мона сделать так, чёб кнопка закрыть (крестик) был недоступен во всех окнах!!!!!!!!
если кому интересно, могу дать код |
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Полудненко Олег, Ды давай... Это просто интересно... потом Вит это в ФАК оформит...
|
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Это сообщение отредактировал(а) Полудненко Олег - 30.12.2003, 23:29 |
|||
|
||||
| Fritz |
|
|||
|
Unregistered |
Поставь у события формы OnClose такой код:
Вот и все |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |