-
На главной форме, в главном меню есть кнопка с ShortCut = del, и на этой же форме есть TEdit. Вопрос, как отключать срабатывание ShotCut в главном меню, в момент когда я редакирую в TEdit, TMemo etc..?
-
У тебя главное меню. Кнопка называется допустим N1. Тогда N1.ShortCut := 'None' или N1.Enabled := False;
Должно помочь -).
-
Правильный ответ я незнаю, но можно попробовать написать такой обработчик OnUpdate у Экшена.
procedure TForm1.Action1Update(Sender: TObject); begin if Sender is TAction then (Sender as TACtion).Enabled := not Edit1.Focused; end;
-
> Kolan © (20.03.08 09:57) [2]
> Правильный ответ я незнаю
Не назначать такие горячии клавиши :) Ну, или обрабатывать ручками
procedure TForm1.N21Click(Sender: TObject);
begin
if ActiveControl is TCustomEdit then
with TCustomEdit(ActiveControl) do
begin
if SelLength = 0 then
SelLength := 1;
if SelText[1] = #13 then
SelLength := 2;
SelText := '';
end;
end;
-- Regards, LVT.
-
> Ну, или обрабатывать ручками
Уж лучьше, имхо, там где надо Del в OnKeyDown ловить, чем такое делать вручную
-
Спасибо всем, понял, что универсального лекарства от этого нет.
Я думал, что можно как то перехватить сообщение message на TAplication во время редактирования, например в TEdit, и запретить его отрабатываться в главном меню.
Попробую еще покапать в этом направлении.
-
> Спасибо всем, понял, что универсального лекарства от этого > нет.
Есть. Не делать пункт главного меню с таким шорткатом
-
> [5] Domkrat (20.03.08 15:21) > Попробую еще покапать в этом направлении.
Лучше копай(или капай капли) в направлении певого предложения из [3] :) т.е.
> Не назначать такие горячии клавиши
Имхо.... ну этож надо додуматься чтоб при наличии редакторов текста например, и стандартной кнопки удаления, назначить на кнопку другое действие и еще быть не довольным при этом :)
-
> [5] Domkrat (20.03.08 15:21)
Впрочем задача решаема...возможно... но зачем?!
-
> Лучше копай(или капай капли) в направлении певого предложения > из [3]
тут такой момент: Del действует не только на TCustomEdit
|