Главная страница
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.5 MB
Время: 0.029 c
1-1087226281
Sveta
2004-06-14 19:18
2004.06.27
RXLIB


1-1086788472
Sour
2004-06-09 17:41
2004.06.27
Работа с ключами рееста типа REG_MULTI_SZ


14-1086872521
Киркоров :)
2004-06-10 17:02
2004.06.27
Просто хорошая песня Киркорова :))))))))


1-1086976921
MuxauJl
2004-06-11 22:02
2004.06.27
будильник


1-1087275583
an-na2002
2004-06-15 08:59
2004.06.27
внешний вид формы