Форум: "KOL";
Текущий архив: 2015.11.01;
Скачать: [xml.tar.bz2];
Внизпроцедура для TreeView Найти похожие ветки
← →
RusSun © (2009-12-17 18:11) [0]Добрый день, уважаемые мастера.
Имеется структура,
type
PQuestion=^TQuestion;
TQuestion=record
Name: String[255];
ResultQCount:Integer;
ResultCount:Integer;
ResiltText: array[0..10] of String[255];
ResiltValue: array[0..10] of boolean;
end;
Заполняю ... и загружаю в
with QuestionTreeView^ do begin
TVInsert( 0, 0,NewQuest.Name);
Font.FontStyle:=[fsunderline];
end;
У меня в начале была версия 1.91 kol"а потом. Потом установил 2.88.
В первой Node"ы есть. Во второй нет.
Вопрос как реализовать следующую процедуру для 2.88
Процедура при событии Change должна подгружать
в ListView (в моём ResultView) с QuestionTreeView
соответствующие data.
Вариант на VCL:QuestionTreeViewChange(Sender: TObject;
Node: TTreeNode);
var
i:Integer;
begin
ResultView.Items.Clear;
if Node=nil then exit;
for i:=0 to PQuestion(node.Data).ResultCount-1 do
with ResultView.Items.Add do
begin
Caption:=PQuestion(node.Data).ResiltText[i];
if PQuestion(node.Data).ResiltValue[i]=true then
begin
SubItems.Add("Да");
ImageIndex:=2;
end
else
begin
SubItems.Add("Нет");
ImageIndex:=1;
end;
end;
end;
Вариант на Kol:?
Спасибо.
← →
Дмитрий К © (2009-12-17 21:05) [1]OnTVSelChanging
TVItemData
← →
RusSun © (2009-12-18 15:30) [2]Дмитрий К Спасибо за быстрый ответ.
реализовал так:procedure QuestionTreeViewSelChange(Sender:pcontrol);
var i:integer;
begin
ResultView.Clear;
//провека на пустые поля
index:=QuestionTreeView.TVSelected;//showmessage(int2str(index));
for i:=0 to PQuestion(QuestionTreeView.TVItemData[index]).ResultCount-1 do begin
if PQuestion(QuestionTreeView.TVItemData[index]).ResiltValue[i]=true then begin
ResultView.LVItemAdd("");
ResultView.LVItems[i,1]:="Да";
ResultView.LVSetItem(i,0,PQuestion(QuestionTreeView.TVItemData[index]).ResiltTex t[i],2, [], 0, 0, 0);
end else begin
ResultView.LVItemAdd("");
ResultView.LVItems[i,1]:="Нет";
ResultView.LVSetItem(i,0,PQuestion(QuestionTreeView.TVItemData[index]).ResiltTex t[i],1, [], 0, 0, 0);
end;
end;
end;
Вот только меня смущает что событие SelChange
происходит раньше чем кликнуть на TVItem, то есть сразу появляется.
А не должно.:(
← →
RusSun © (2009-12-19 23:12) [3]Доброе время суток.
Вопрос по процедуре.
Почему при вызове в другом окне
процедура не выводит картинки в ListView???
← →
RusSun © (2009-12-20 01:05) [4]Всё, поправил;)
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2015.11.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.001 c