Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> keys, Помогите с нажитием кнопок 
:(
    Опции темы
Rondo
Дата 2.5.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 24.2.2006
Где: там..

Репутация: нет
Всего: нет



Хелп!
Подскажите пожалуйста как сделать чтобы форма не закрывалась при нажатии Alt+F4  smile  
--------------------
Начинающий кодер  
PM MAIL ICQ   Вверх
Демо
Дата 2.5.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Код

  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    procedure OnWM_SYSCOMMAND(var Message: TMessage); message WM_SYSCOMMAND;
  end;



Код

procedure TForm1.OnWM_SYSCOMMAND(var Message: TMessage);
begin
  if ((Message.WParam and $FFF0) = SC_MINIMIZE) then
  begin
    Application.Minimize;
    Message.Result := 0;
  end
  else inherited;
end;

 


--------------------
    
PM MAIL ICQ Skype   Вверх
Rondo
Дата 2.5.2006, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 24.2.2006
Где: там..

Репутация: нет
Всего: нет



 smile 
А можно это сделать на событии OnKeyPress? 
Типа.. отменить действие? 

Это сообщение отредактировал(а) Rondo - 2.5.2006, 21:29
--------------------
Начинающий кодер  
PM MAIL ICQ   Вверх
ShadeSt
Дата 3.5.2006, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 9.8.2005
Где: Россия, г. Ставро поль

Репутация: нет
Всего: 7



Событие формы OnClose:
Код

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caNone;
end;
 

Только при этом она вообще закрываться перестанет. 
Если интересует именно по комбинации клавиш Alt+F4 то ловить кнопки. 

Код

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
    MyCanClose : Boolean;
  public
    { Public declarations }
  end;

.....

procedure TForm1.FormCreate(Sender: TObject);
begin
  MyCanClose := True;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  MyCanClose := Not ((shift = [ssAlt]) and (key = vk_F4));
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose   := MyCanClose;
  MyCanClose := True;
end;


 

Это сообщение отредактировал(а) ShadeSt - 3.5.2006, 08:54


--------------------
It's nice to be importand, but it's more importand to be nice © Scooter
PM MAIL ICQ Jabber   Вверх
~FoX~
Дата 3.5.2006, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Цитата(Rondo @  2.5.2006,  22:28 Найти цитируемый пост)
А можно это сделать на событии OnKeyPress? 

Нет, а вот по OnKeyDown
Код

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (Key = 115) and (Shift = [ssAlt]) Then Key := 0;
  .......
 


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.