Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Вниз

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);




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.039 c
1-80467           kull                  2002-03-11 17:42  2002.03.25  
Помогите найти программные инструменты для анализа кода!


3-80432           alextov               2002-02-26 15:22  2002.03.25  
Всегда видимое первое поле в DBGrid e, независимо от скроллинга


1-80592           Hermit                2002-03-06 10:04  2002.03.25  
Ищется дискета к книге


14-80671          Lena                  2002-02-11 20:10  2002.03.25  
Что значит ИМХО???


14-80682          lel                   2002-02-12 08:41  2002.03.25  
ну а теперь поговорим о сексе????