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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Событие Checked в VirtualStringTree, Изменение состояние CheckBox 
:(
    Опции темы
Hopkroft
Дата 17.7.2013, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть virtualstringtree у каждой строки есть CheckBox. 
Как сделать, что-бы изменение состояние CheckBox менялось при нажатии на строку в дереве.
Насколько я понял нужно отлавливать событие OnClick, и вызывать OnChecked.
Или есть другой путь?
PM MAIL   Вверх
Evgesha
Дата 17.7.2013, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Попробуй событие
FocusChanged
--------------------
Все это хорошо, а как дальше жить!!!
PM MAIL   Вверх
Hopkroft
Дата 18.7.2013, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Evgesha @ 17.7.2013,  22:24)
Попробуй событие
FocusChanged

К сожалению вариант не подходит. Если щёлкаешь, по полю несколько раз, то он изменяет состояние только при первом щелчке, а потом происходит без изменения. Т.к. фокус больше не меняеться.

По ходу дела возник следующий вопрос. Как отменить сворачивание дерева, при щелчке по его корню?

Это сообщение отредактировал(а) Hopkroft - 18.7.2013, 09:09
PM MAIL   Вверх
MetalFan
Дата 18.7.2013, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(Hopkroft @  17.7.2013,  10:52 Найти цитируемый пост)
Насколько я понял нужно отлавливать событие OnClick, и вызывать OnChecked.

Чем плох вариант?


Цитата(Hopkroft @  18.7.2013,  08:50 Найти цитируемый пост)
Как отменить сворачивание дерева, при щелчке по его корню?

Если не ошибаюсь (по памяти) то, вешаемся на событие OnCollapsing, в нем смотрим, кого там свернуть пытаются, и разрашаем или нет это действие.

Это сообщение отредактировал(а) MetalFan - 18.7.2013, 13:57


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Hopkroft
Дата 18.7.2013, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Чем плох вариант?


Да, смысл в том, что обрабатываю следующим образом.
Код


var
targetNode:PVirtualNode ;
. . .

if ( not (targetNode = VirtualStringTreeEx1.FocusedNode)) then
begin
   exit;
end;

VirtualStringTreeEx1.Selected[targetNode]:=true;

if  (VirtualStringTreeEx1.CheckState[targetNode]=csUncheckedNormal) then
begin
   VirtualStringTreeEx1.CheckState[targetNode]:=csCheckedNormal;
end
else
begin
   VirtualStringTreeEx1.CheckState[targetNode]:=csUncheckedNormal;
end;

Но фишка в том, что перестал обрабатываться, обработчик у самого CheckBox. Т.к. он срабатывает дважды.
Т.е. он снимает, и опять ставит галку.

По-поводу сворачивания, установил MiscOptions->toToggleOnDblClick = false. И вроде поборол проблему без обработчика.


PM MAIL   Вверх
ZBugz
Дата 19.7.2013, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

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

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

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


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

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


 




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


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

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