Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.31;
Скачать: CL | DM;

Вниз

Проблема с TTreeView в Delphi 2009   Найти похожие ветки 

 
Phoenix ©   (2009-12-09 14:39) [0]

Доброго времени суток. Начал осваивать Delphi 2009 и возникла такая проблема. Есть некий TTreeView с подключённым TImageList где имеется набор иконок. В TTreeView через метод TVModulGetImageIndex указываю какой индекс иконки присвоить. Всё нормально. Но стоит в заполненом дереве щёлкнуть на любой элемент, как изображение иконки на дереве меняется с нужной на ту что стоит в TImageList под индексом 0. Ничего понять не могу. Новая форма, обработчиков на onChange  и onClick нет. В чём может быть причина?


 
Медвежонок Пятачок ©   (2009-12-09 14:44) [1]

причина может быть в содержимом TVModulGetImageIndex


 
Phoenix ©   (2009-12-09 14:47) [2]


> причина может быть в содержимом TVModulGetImageIndex

Содержимого там одна стрка
Node.ImageIndex:=PModul(Node.Data).id+1;
Это уже сомтрел. Даже если руками выставляю
Node.ImageIndex:=5 то изначально проставляются картинки под индексом 5 но при клике скидываются на 0 :(


 
Медвежонок Пятачок ©   (2009-12-09 14:48) [3]

Содержимого там одна стрка

тем лучше.
она и есть причина странностей


 
clickmaker ©   (2009-12-09 14:49) [4]

нефигово бы еще SelectedIndex задать


 
MBo ©   (2009-12-09 14:49) [5]

OnGetSelectedIndex


 
Phoenix ©   (2009-12-09 14:52) [6]


> нефигово бы еще SelectedIndex задать

Задал , результат тот же.
procedure TfrmMain.TVModulGetImageIndex(Sender: TObject; Node: TTreeNode);
begin
 Node.ImageIndex:=5
end;

procedure TfrmMain.TVModulGetSelectedIndex(Sender: TObject; Node: TTreeNode);
begin
 Node.ImageIndex:=5;
end;

Так же скидывает на 0 .


 
Медвежонок Пятачок ©   (2009-12-09 14:54) [7]

можно еще погрешить на имаджлист.
у меня в определенных ситуациях он неверно отдает битмап.
дорисовывает нулевой, хотя индекс нужного иной.
я в таких случаях нулевым битмапом в имаджлисте использую фиктивный прозрачный


 
Phoenix ©   (2009-12-09 14:55) [8]


> можно еще погрешить на имаджлист.у меня в определенных ситуациях
> он неверно отдает битмап.дорисовывает нулевой, хотя индекс
> нужного иной.я в таких случаях нулевым битмапом в имаджлисте
> использую фиктивный прозрачный

Но проблему это не решает к сожалению - нужная иконка не отображатся.


 
Медвежонок Пятачок ©   (2009-12-09 15:00) [9]

что не решает?


 
Медвежонок Пятачок ©   (2009-12-09 15:02) [10]

заведи у узла визуальный атрибут и вписывай в него текущий имаджиндекс.
Сразу будет видно кто именно косячит.
Либо твой код, который присваивает не то, когда узел в фокусе/не в фокусе.
Либо имаджлист


 
Phoenix ©   (2009-12-09 15:08) [11]


> заведи у узла визуальный атрибут и вписывай в него текущий
> имаджиндекс.Сразу будет видно кто именно косячит.Либо твой
> код, который присваивает не то, когда узел в фокусе/не в
> фокусе.Либо имаджлист

Сделал. Мда. Отображает что ImageIndex соответсвует заданному, почему отображает неверно это вопрос.


 
Медвежонок Пятачок ©   (2009-12-09 15:09) [12]

это уже ответ.
горбит имаджлист


 
Phoenix ©   (2009-12-09 15:10) [13]


> это уже ответ.горбит имаджлист

Отсюда вопрос - этот момент как то можно поправить?


 
Медвежонок Пятачок ©   (2009-12-09 15:11) [14]

я же написал как это пофиксено у меня


 
Медвежонок Пятачок ©   (2009-12-09 15:15) [15]

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


 
Phoenix ©   (2009-12-09 15:22) [16]

Разобрался. надо в GetSelectedIndex присваивать не imageindex а SelectedIndex тогда всё работает как надо



Страницы: 1 вся ветка

Текущий архив: 2010.01.31;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
15-1259388260
Leprik
2009-11-28 09:04
2010.01.31
Удалить cookies из памяти TWebBrowser


4-1206729534
Пётр
2008-03-28 21:38
2010.01.31
Открыть с помощью


1-1234977811
Skyhawk
2009-02-18 20:23
2010.01.31
Изменение цвета строки в TListView


2-1260278642
Danco
2009-12-08 16:24
2010.01.31
Поместить картинку из TWebBrowser в TImage


2-1260272652
kate158
2009-12-08 14:44
2010.01.31
разделение строки на число и букву