Главная страница
    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.5 MB
Время: 0.036 c
6-1164146047
frozen_eye1
2006-11-22 00:54
2007.06.03
В WebBrowser из Memo


15-1177685755
easy
2007-04-27 18:55
2007.06.03
PHP DM Client - клиент для форумов сайта "Мастера Delphi"


15-1178567172
Kostafey
2007-05-07 23:46
2007.06.03
try...except...finally...end


15-1178547995
Карелин Артем
2007-05-07 18:26
2007.06.03
Качалка для сети MS.


15-1178103104
IMHO
2007-05-02 14:51
2007.06.03
Что за мода такая?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский