Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];

Вниз

Проблема с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.005 c
2-1256560287
Aleks
2009-10-26 15:31
2010.01.31
Выравнивание колонок ListView по содержимому


2-1260206153
Aleks
2009-12-07 20:15
2010.01.31
Текст кодировка


15-1259445310
Германн
2009-11-29 00:55
2010.01.31
Пушкин то наш...


2-1260200531
Drowsy
2009-12-07 18:42
2010.01.31
Как правильно завершить программу без появления главного окна


15-1259264658
Игорь Шевченко
2009-11-26 22:44
2010.01.31
Наука нанотехнологий на марше!





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