Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Показ (0,0) угла TreeView [D7, XP]


Страницы:   1 2

Lakshmy ©   (2007-05-15 14:33:00) 

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


Lakshmy   (2007-05-15 23:43:00) [1]

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


{RASkov}   (2007-05-15 22:47:00) [2]

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

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


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

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

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

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


{RASkov}   (2007-05-15 22:18:00) [4]

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

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


{RASkov}   (2007-05-15 22:16:00) [5]

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

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


{RASkov}   (2007-05-15 22:15:00) [6]

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

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

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

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


Lakshmy   (2007-05-15 22:11:00) [7]


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

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

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

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


{RASkov}   (2007-05-15 22:04:00) [8]

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

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

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

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


Lakshmy   (2007-05-15 20:51:00) [9]

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


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

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

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


Lakshmy   (2007-05-15 20:10:00) [11]

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


{RASkov}   (2007-05-15 19:57:00) [12]

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

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


Lakshmy   (2007-05-15 19:43:00) [13]

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


Lakshmy   (2007-05-15 19:31:00) [14]

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


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

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

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


Lakshmy   (2007-05-15 19:25:00) [16]

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


Lakshmy   (2007-05-15 19:21:00) [17]

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

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


Lakshmy   (2007-05-15 19:05:00) [18]

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


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

TTreeView.OnChange


Lakshmy   (2007-05-15 18:46:00) [20]

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо