Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];

Вниз

Показ (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.087 c
2-1179214892
GRT_
2007-05-15 11:41
2007.06.03
из string в ChekListBox


2-1178876501
newbie2
2007-05-11 13:41
2007.06.03
вопрос про class function


11-1160821604
vampir_infernal
2006-10-14 14:26
2007.06.03
Exception, TNotifyEvent и не только


2-1178804616
MASTAFA
2007-05-10 17:43
2007.06.03
Помогите с WinInet


4-1167202366
clickmaker
2006-12-27 09:52
2007.06.03
PropertySheet & Windows 95





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский