Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
ВнизКак в ListView при редактировании запретить действие ShortCutов ? Найти похожие ветки
← →
GreySerg (2003-09-30 20:44) [0]Как в ListView при редактировании запретить действие ShortCutов ?
т.е в ListView в Popup меню у меня назначены Actionы , у которых есть ShortCut, так вот надо , чтобы при редактировании itema в ListView они не действовали (при нажатии клавиши del не вызывался Execute actiona, если у actiona назначен shorcut = del, а нормально удалялся символ itemа )
← →
GreySerg (2003-10-01 11:26) [1]Подскажите, очень надо ))
← →
clickmaker (2003-10-01 11:28) [2]procedure TForm1.ActionList1Update(Action: TBasicAction;
var Handled: Boolean);
begin
if ListView.IsEditing then begin
TAction(Action).Enabled := false;
Handled := true;
end;
end;
← →
GreySerg (2003-10-01 11:58) [3]да , но тогда не работает удаление выделенного фрагмента в редактировании itema при нажатии клавиши del
← →
clickmaker (2003-10-01 12:09) [4]А так ?
procedure TForm1.DelActionUpdate(Sender: TObject);
begin
DelAction.Enabled := not ListView1.IsEditing;
end;
← →
GreySerg (2003-10-01 12:11) [5]то же самое , уже пробовал , не работает удаление выделенного фрагмента в редактировании itema при нажатии клавиши del
← →
clickmaker (2003-10-01 12:19) [6]странно... у меня работает
← →
GreySerg (2003-10-01 12:46) [7]сделал простой пример - тоже работает
а вот у меня в приложении не работает :(
← →
GreySerg (2003-10-01 17:28) [8]понял почему не работает
у меня MDI приложение и в MDIForm есть action , у которого ShortCut = Del и в MDI Child есть action у которого ShortCut = Del , когда делаю
procedure TForm1.DelActionUpdate(Sender: TObject);
begin
DelAction.Enabled := not ListView1.IsEditing;
end;
то видимо при редактировании itema перехватывает action из главной формы , поэтому не удаляет выделенный фрагмент .
когда в главной форме убираю у action shortCut = Del , то всё замечательно работает (удаляет выделенный фрагмент при редактировании)
Мастера, подскажите пожалуйста , как сделать чтобы не перехватывало ShortCut из главной формы ?
← →
GreySerg (2003-10-01 17:56) [9]Так что ? никто не знает ?
← →
clickmaker (2003-10-01 18:00) [10]Запрещай экшн и в главной форме до кучи :)
← →
GreySerg (2003-10-01 18:12) [11]пробую запрещать , но ничё не выходит , делаю :
procedure TForm1.DelActionUpdate(Sender: TObject);
begin
(Sender as TAction).Enabled := (not (ActiveMDIChild is TForm2));
end;
procedure TForm2.Action1Execute(Sender: TObject);
begin
ListView1.DeleteSelected;
end;
procedure TForm2.Action1Update(Sender: TObject);
begin
(Sender as TAction).Enabled := not ListView1.IsEditing
end;
а почему то при редактировании ListView в Form2 (MDIChild), когда ставлю прерывание в procedure TForm1.DelActionUpdate(Sender: TObject);, ActiveMDIChild = nil , хотя я редактирую в форме Form2, которая является MDIChild
← →
GreySerg (2003-10-01 18:13) [12]у этих 2-х Actionов один и тот же ShortCut = Del
← →
GreySerg (2003-10-01 18:33) [13]всё, всем спасибо , всё заработало, просто в спешке вместо formStyle = fsMDIChild поставил fsNormal :)
← →
GreySerg (2003-10-02 13:46) [14]ещё одна проблема возникла:
если у ListView есть Popup меню , а в нём есть item с action , у которого ShortCut = Del , то не удаляет выделенный фрагмент при редактировании (делаю всё как вышеи написано)
Если в событии OnEditing ставлю Action1.ShortCut :=0, то нормально удаляет выделенный фрагмент при редактировании
проблема в том где поставить Action1.ShortCut := TextToShortCut("Del")?
если в событии OnEdited , то оно не сработает, если я во время редактирования нажму Escape , ShortCut останется равным 0.
Помогите, Мастера !!1
← →
GreySerg (2003-10-02 14:13) [15]Тогда как сделать , чтобы Update Actiona всё время делался ? тогда я знаю как решить эту проблему
← →
GreySerg (2003-10-02 14:19) [16]Что , никто не сталкивался с таким ?
← →
GreySerg (2003-10-02 14:26) [17]и вообще , что за глюк такой в ListView ?
← →
GreySerg (2003-10-02 15:32) [18]Мастера, ответьте !!! Очень надо.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c