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

Вниз

Как сделать, чтобы 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
14-1086529803
Алхимик
2004-06-06 17:50
2004.06.27
Кандидатский минимум.


14-1087028738
Godlike
2004-06-12 12:25
2004.06.27
Sajti


14-1086328993
MBo
2004-06-04 10:03
2004.06.27
Пятничные несложные задачки.


14-1086899285
KnowledgeSeeker
2004-06-11 00:28
2004.06.27
Память под приложение.


3-1086286568
hardclubber
2004-06-03 22:16
2004.06.27
Автоинкримент в IB





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский