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

Вниз

TreeView   Найти похожие ветки 

 
I/O ©   (2002-03-10 00:45) [0]

F1 Мне! Столкнулся впервые с TreeView. Как при выборе какой-то ветки
в Memo записать коментарий к ней. Таких веток около 80 шт.


 
lipskiy ©   (2002-03-10 01:08) [1]

Недавно в конфе это было, поищи.
Не найдешь - пиши.


 
I/O ©   (2002-03-10 01:37) [2]


> lipskiy

Там чего-то не то. Мне говорили что надо использовать
Item.Data. Но как? Как туда загнать всю инфу и что бы exe`шник небыл с "гигобайт:)"


 
lipskiy ©   (2002-03-10 02:01) [3]

Ну да, есть и такой способ, более уобный.
Попробую выдрать только необходимое из своего кода:

type
PntRec = ^TRec;
TRec = record
// список параметров, которые надо хранить в данной ноде, например:
Str:String;
end;
var
RecPtr: PntRec;


Дальше пишется своя процедура добавления новой ноды, в ней:

New(RecPtr);
RecPtr^.Str:= "...";
TreeView1.Items.AddObject(nil{или нода}, Caption, RecPtr); // или
TreeView1.Items.AddChildObject(Node, Caption, RecPtr);


Обратиться к параметру при выборе ноды можно так:
PntRec(Node.Data)^.Str:= "...";

В Destroy не забудь удалить все указатели через Dispose.


 
I/O ©   (2002-03-10 10:24) [4]

Чего-то я совсем не понимаю :(
Можно подробнее? А такой вопрос:
Имеется запись:
type
<имя типа> = record
<А> : <integer>;
...
<В> : <тип>;
end;

Можно ли в "B" записывать многострочный текст(возможно,что более 255 символов)?


 
I/O ©   (2002-03-10 11:12) [5]

А как должна выглядеть НОДА?
Тут процедуры хотят что бы я их ввёл, а как я не знаю


 
Song ©   (2002-03-10 12:00) [6]

Ты бы сформулировал вопрос попонятненй, тебе бы уже не один десяток человек ответили бы...
Ты хочешь так: нажимаешь на ветку в дереве, появляеся TMemo, где ты вводишь комментарий, а потом комментарий помещается в туже ветку?
Тип String может вмещать более 255 символов.


 
I/O ©   (2002-03-10 12:46) [7]


> Song

Нет. Я хочу так:
На форме есть TreeView и Memo.
Я нажимаю на ветку и в Memo отображается комментарий.
Что-то вроде хинта, только коментарий большой и в Memo.
Т.е. коментарии уже где-то хранятся.


 
Song ©   (2002-03-10 12:54) [8]

обрабатывай onMouseDown
TreeView1.Selected - ветка выделенная в момент нажатия
а вот где комментарии хранить... Интересный вопрос, можно было бы по номеру ветки, но если вставишь ветку, то всё сдвинется. Можно по какому индивид. номеру, если таковой есть в названии ветки.
Можно ещё так: у каждой ветки, есть подветвь, которая будет содержать этот комментарий.
Вообщем, выбирай.


 
Набережных С.   (2002-03-10 14:01) [9]

Это?

TreeView.Items[1].Data:=StrAlloc(Length("Мои комментарии")+1);
StrPCopy(TreeView.Items[1].Data,"Мои комментарии");

procedure ...TreeViewChange(...
begin
if TTreeView(sender).Selected <> nil then
Memo.Lines.Text:=PChar(TTreeView(sender).Selected.Data)
else
Memo.Lines.Text:="";
end;

Только не забудь:

StrDispose(TreeView1.Items[1].Data);



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
1-80479
Vitek
2002-03-12 14:48
2002.03.25
RxLib


3-80454
Font Hunter
2002-02-25 17:35
2002.03.25
Что бы это значило???


1-80533
AndreyS
2002-03-13 12:56
2002.03.25
Вопрос по отработчикам и событиям


1-80466
Alex Sm
2002-03-12 05:44
2002.03.25
Service


14-80683
McSimm
2002-02-11 12:01
2002.03.25
Задачка с подвохом