Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как разделить назначение кнопки Delete, в разных ситуациях 
:(
    Опции темы
Pavelbej
Дата 18.1.2008, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



В компонету VirtualStringTree прицепил контекстное меню. В меню есть пункт "Delete" к которому привязан ShortCut - Del. То есть, это выглядит так - "Delete      Del"
В событии VTKeyDown идет проверка, если нажата кнопка Delete, то вызывается процедура удаления узла компонента. Проблема в том что эта же процедура вызывается при редактировании узла, удалить буквы кнопкой Delete, не удается.

Что я хочу:
1. Если узел редактируется, то кнопкой удаления удаляем буквы из узла.
2. Если узел не редактируется, то он удаляется.
3. И в пункте меню, чтобы мог использовать Del, т.е. "Delete      Del" (в данный момент у меня только так "Delete", иначе проблему не могу решить).

Посоветуйте как сделать, так как надо?
PM MAIL   Вверх
Exai1e
Дата 18.1.2008, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 2
Всего: 30



Может примерно так:
При редактировании вывешивается флаг 
Flag := true 
в конце редактирования флаг false;
а при нажатии на пункт меню проверять если флаг = true то удалять буквы else удалять пункт...

если я правильно понял...


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Pavelbej
Дата 18.1.2008, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



Цитата(Exai1e @  18.1.2008,  22:01 Найти цитируемый пост)
если я правильно понял... 

Все правильно, но...

в событии VTKeyDown, я уже пробовал сделать вот так:

Код

procedure TForm1.VTKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
     if (key=VK_delete) then
        if not vt.IsEditing then
            Deletecategory1Click(sender);
end;


и не сработало.
А вот если  if not vt.IsEditing then, поместить в процедуру удаления  Deletecategory1Click (так как сейчас у меня), то в этом случае, все нормально. Почему так, я не знаю. Но как только к пункту меню прикручиваю ShortCut "Del", вообще ни удаляет узел, ни букву.

Это сообщение отредактировал(а) Pavelbej - 18.1.2008, 22:43
PM MAIL   Вверх
Exai1e
Дата 18.1.2008, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 2
Всего: 30



Цитата

(так как сейчас у меня), то в этом случае, все нормально.


если ВСЕ нормально, то есть такая мудрость - 
Цитата

если все работает то нечего не трогай, нечего не меняй 
;) 
а вообще трасировку используй и смотри smile


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Pavelbej
Дата 19.1.2008, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



Мне бы хотелось и это решить

Цитата(Pavelbej @  18.1.2008,  21:46 Найти цитируемый пост)
И в пункте меню, чтобы мог использовать Del, т.е. "Delete      Del" (в данный момент у меня только так "Delete", иначе проблему не могу решить).

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0411 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.