Форум: "Основная";
Текущий архив: 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]
> Вопрос неправильный, как тебе удалось добиться противоположного.
Я понял в чём дело. Я использую в быстрых клавишах одной из опций меню кнопку ESCN28.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