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

Вниз

Показ (0,0) угла TreeView   Найти похожие ветки 

 
Lakshmy ©   (2007-05-15 14:33) [0]

Здравствуйте!
Подскажите пожалуйста, я никак не соображу... На форме есть компонент TreeView, я его заполняю программно, в результате его заполнения окно с TreeView прокручивается вниз, а как сделать чтобы был показан самый верх окна TreeView? Я не нашла ни одного метода для этого... Может плохо искала?


 
Elen ©   (2007-05-15 15:01) [1]

Переход на верхний итем : TreeView1.TopItem:=TreeView1.Items.GetFirstNode


 
Lakshmy ©   (2007-05-15 18:01) [2]

А! А то в книжке как-то непонятно написано... Спасибо!


 
Lakshmy ©   (2007-05-15 18:35) [3]

А еще вопрос - какое событие использовать, чтобы узнать какой итем выделен?


 
{RASkov} ©   (2007-05-15 18:38) [4]

> [3] Lakshmy ©   (15.05.07 18:35)

Любое.... ты конкретнее спрашивай.....


 
Lakshmy ©   (2007-05-15 18:46) [5]

Ну вот у меня есть TreeView типа как обозреватель кода в Дельфи, и есть Memo, там текст, щелкаешь по какому-то итему в TreeView, и курсор в тексте перемещается к этому слову.


 
trubin ©   (2007-05-15 19:01) [6]

TTreeView.OnChange


 
Lakshmy ©   (2007-05-15 19:05) [7]

Отлично! Спасибо!


 
Lakshmy ©   (2007-05-15 19:21) [8]

Так как я впервые в жизни столкнулась с TreeView, я вообще нифига не понимаю... Вот пишу для теста:
procedure TMainForm.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
if Node.Parent=nil then  ShowMessage("privet!");
end;

Он правильно реагирует, но когда я нажимаю на кнопку закрытия главного окна, это событие срабатывает еще несколько раз! Причем если выбираешь последний, повторений не происходит, предпоследний - 1 раз, предпредпоследний - 2 раза и т.д.... Откуда это и почему?


 
Lakshmy ©   (2007-05-15 19:25) [9]

Это почему-то возникает из-за TreeView1.Items.Clear при выходе...


 
{RASkov} ©   (2007-05-15 19:30) [10]

> [9] Lakshmy ©   (15.05.07 19:25)

А тебе извесно, что такое Parent? И что происходит при закрытии формы, в часности с TreeView....


 
Lakshmy ©   (2007-05-15 19:31) [11]

Ну родитель, то есть если он nil, то значит это элемент в корне. А вот что происходит при закрытии формы, я не знаю. Расскажи пожалуйста


 
Lakshmy ©   (2007-05-15 19:43) [12]

Это происходит только если я ставлю TreeView1.Items.Clear при закрытии.


 
{RASkov} ©   (2007-05-15 19:57) [13]

> А вот что происходит при закрытии формы, я не знаю. Расскажи пожалуйста

Ты лучше расскажи, что тебе нужно... может тебе нужно Node.Level ?


 
Lakshmy ©   (2007-05-15 20:10) [14]

Да вобщем нужно тоже самое, что и окошко "Обзор кода" в Дельфи. В Memo у меня программный код, в TreeView я загоняю названия классов и их свойства и методы. Если щелкнуть например на какой-нибудь метод какого-нибудь класса в TreeView, то в Memo курсор должен перескакивать на описание этого метода. Все как в Дельфи. А когда я закрываю документ, с которым работаю, но не закрываю главное окно, у меня Memo очищается и TreeView тоже должно очищаться, но из-за TreeView1.Items.Clear несколько раз срабатывает TreeView1Change. И я не пойму почему. Смотрела описание метода Clear, ничего подозрительного там не увидела...


 
{RASkov} ©   (2007-05-15 20:24) [15]

> [14] Lakshmy ©   (15.05.07 20:10)

перед очисткой отключи обработчик:
TreeView.OnChange:=nil;
TreeView.Items.Clear;
TreeView.OnChange:=TreeViewChange;
А вообще... что то ты не так делаешь.... покажи свой TreeView1Change....


 
Lakshmy ©   (2007-05-15 20:51) [16]

Эээ... А каким образом показать? Сделала как ты сказал, заработало. Но это же криво, так ведь не должно быть...


 
{RASkov} ©   (2007-05-15 22:04) [17]

> [16] Lakshmy ©   (15.05.07 20:51)
> Эээ... А каким образом показать?

Ну то что в [8] это ж не "настоящий".... правда? Вот и хотел посмотреть на "настоящий" OnChange.

> Но это же криво, так ведь не должно быть...

Ну почему..... иногда это облегчает при написании кода, все зависит, от того, правильно ли ты делаешь.....


 
Lakshmy ©   (2007-05-15 22:11) [18]


> Ну то что в [8] это ж не "настоящий".... правда?

Как это не настоящий? А какой настоящий? Я не понимаю...

> Ну почему..... иногда это облегчает при написании кода,
> все зависит, от того, правильно ли ты делаешь.....

Ну а почему неправильно-то? Все вроде верно, неужели ни у кого такого не бывало?


 
{RASkov} ©   (2007-05-15 22:15) [19]

> [18] Lakshmy ©   (15.05.07 22:11)
> Как это не настоящий?

Не смеши..... неужели в твоей программе код OnChange TreeView это и есть весь в [8] :)

> Ну а почему неправильно-то?

А кто сказал, что не правильно? Я вот и не знаю, что у тебя там, да как......


 
{RASkov} ©   (2007-05-15 22:16) [20]

> Не смеши..... неужели в твоей программе код OnChange TreeView
> это и есть весь в [8] :)

И если это так, то смело делай как в [15].....


 
{RASkov} ©   (2007-05-15 22:18) [21]

> [18] Lakshmy ©   (15.05.07 22:11)
> Все вроде верно, неужели ни у кого такого не бывало?

Ну событие генериться OnChange при Clear.... что не понятного-то?


 
Lakshmy ©   (2007-05-15 22:30) [22]

Не, ну пока только этот код, я же для теста это сделала, просто никогда не работала с TreeView, вот и решила опробовать, а дальше там много чего будет.

> Ну событие генериться OnChange при Clear.... что не понятного-
> то?

Ну понятно, а почему? Как это нормально обойти-то? Как в [15] будет достаточно? Или все же это не совсем корректно?


 
{RASkov} ©   (2007-05-15 22:47) [23]

> Как в [15] будет достаточно?

Я думаю - да, но смотря, что будет в OnChange... просто учитывай, этот код(OnChange) не выполнится при отключенном обработчике и все.


 
Lakshmy ©   (2007-05-15 23:43) [24]

Честно говоря впервые вижу, чтобы вот так проблема решалась. Но все равно спасибо.



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

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

Наверх




Память: 0.52 MB
Время: 0.031 c
15-1178518779
db2admin
2007-05-07 10:19
2007.06.03
Модульное ПО


2-1179137910
FIL-23
2007-05-14 14:18
2007.06.03
как подать звук на спикер из под XP


15-1178869133
ЮЮ
2007-05-11 11:38
2007.06.03
Я ухожу из Дельфи. Если Мастера не дадут :)


2-1179220828
Apachi
2007-05-15 13:20
2007.06.03
помогите пожалуста понять тип Double


5-1154951820
Vaitek__
2006-08-07 15:57
2007.06.03
Храние ресурсов в компоненте