![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Показ (0,0) угла TreeView [D7, XP]
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, и курсор в тексте перемещается к этому слову.