Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Как сделать, чтобы FindDialog закрывался при нажатии на Escepe ?   Найти похожие ветки 

 
Алекс А   (2004-06-10 01:24) [0]

Или нет ли где нибудь более продвинутого файнд-диалога ?


 
KilkennyCat ©   (2004-06-10 02:08) [1]

а у меня он и так закрывается по Esc. D6 win2000


 
Алекс А   (2004-06-10 03:50) [2]


> KilkennyCat ©   (10.06.04 02:08) [1]
> а у меня он и так закрывается по Esc. D6 win2000

А как тебе удалось этого добиться?


 
KilkennyCat ©   (2004-06-10 03:53) [3]

Никак. Кинул его на форму. Кинул на форму кнопку. Написал по кнопке FindDialog1.Execute Нажал кнопку. Финд открылся. Нажал Esc - закрылся.


 
Anatoly Podgoretsky ©   (2004-06-10 09:15) [4]

Алекс А   (10.06.04 03:50) [2]
Вопрос неправильный, как тебе удалось добиться противоположного.


 
Алекс А   (2004-06-11 03:13) [5]


> Anatoly Podgoretsky ©   (10.06.04 09:15) [4]
> Алекс А   (10.06.04 03:50) [2]
> Вопрос неправильный, как тебе удалось добиться противоположного.

Я понял в чём дело. Я использую в быстрых клавишах одной из опций меню кнопку ESC
N28.ShortCut := Word(27);
И из за этого ФайндДиалог не закрывается. Как можно на время это отключить ? Или как тут выкрутиться вообще ?


 
Думкин ©   (2004-06-11 06:56) [6]

> Алекс А   (11.06.04 03:13) [5]

А как ты думаешь? У тебя два действия хотят иметь одну горячую - так хорошо?
Или саночки или ехать.
И ИМХО конечно садить шорткаты и т.п к меню напрямую нехорошо - TAction пользуй.


 
Алекс А   (2004-06-11 07:12) [7]

Кто нибудь знает, как убрать из ShortCut"а, то, что в нём установлено ? Что туда надо заслать ? На nil пишет ошибку.


 
NAlexey ©   (2004-06-11 08:24) [8]

Переопредели у формы IsShortCut. В котором проверяй, если активно окно диалога, то не вызывать ShortCut.


 
Алекс А   (2004-06-12 01:18) [9]


> NAlexey ©   (11.06.04 08:24) [8]
> Переопредели у формы IsShortCut. В котором проверяй, если
> активно окно диалога, то не вызывать ShortCut.

Спасибо !
Сделал вот так :
procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
 if Msg.CharCode = VK_ESCAPE then FindDialog1.CloseDialog;
end;


Хотел ещё сделать проверку активности окна диалога, но не понял как. У него нет ни свойства isShow, ни isActive. Как это можно сделтаь ?


 
KilkennyCat ©   (2004-06-12 02:13) [10]

Методом наоборот.
Если событие onClose не вызывалось после открытия - можно считать окно отрытым. Если главная форма (компоненты на ней) имеют фокус - значит оно не активно.


 
Алекс А   (2004-06-13 01:10) [11]


> KilkennyCat ©   (12.06.04 02:13) [10]
> Методом наоборот.
> Если событие onClose не вызывалось после открытия - можно
> считать окно отрытым. Если главная форма (компоненты на
> ней) имеют фокус - значит оно не активно.

Всё равно какой-то этот ФайндДиалог недоделанный. Надо было прописать все эти свойства в него самого, чтобы без трюков всяких обходиться. И другие тоже надо было прописать.
Например у него нету свойств Width и Height. Это же бред ! Как его отцентрировать без этих свойств ?
В общем ищу какой-нибудь более продвинутый диалог.


 
KilkennyCat ©   (2004-06-13 01:12) [12]

Зачем искать? переделайте этот.


 
Алекс А   (2004-06-13 01:38) [13]


> KilkennyCat ©   (13.06.04 01:12) [12]
> Зачем искать? переделайте этот.

Нехочу прослыть изобретателем велосипедов.



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

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.034 c
3-1085906646
varfolomey
2004-05-30 12:44
2004.06.27
Помогите с InterBase 6.0


6-1083856173
shek
2004-05-06 19:09
2004.06.27
NMFTP


10-1012483036
nikols
2002-01-31 16:17
2004.06.27
Что такое CORBA?


14-1086701047
Феликс Мантилья
2004-06-08 17:24
2004.06.27
Скопировать видео с DVD


1-1086928329
Softal
2004-06-11 08:32
2004.06.27
ListBox