Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-40587
Дмитри
2003-09-25 10:56
2003.10.13
Что лучше ?


3-40310
evgeniy
2003-09-22 11:52
2003.10.13
Query.Insert


1-40394
glow
2003-10-01 09:47
2003.10.13
RX


14-40649
VictorT
2003-09-25 14:15
2003.10.13
Интересует ваше мнение по поводу...


14-40670
Странник
2003-09-23 17:56
2003.10.13
Где у ЗАЗ-968 топливный бак?





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