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

Вниз

Разница между сообщениями TVM_GETITEM и TVN_DISPINFO   Найти похожие ветки 

 
Bless   (2003-07-17 17:22) [0]

В чем сабж?


 
DVM ©   (2003-07-17 19:04) [1]

В чем проблема то?

TVM_GETITEM - позволяет получить информацию об итеме по каким-либо начальным сведениям.

TVN_DISPINFO - извещающее сообщение, треевью нужна информация об итеме (приходит в родительское окно)


 
Bless   (2003-07-18 10:02) [2]

>В чем проблема то?
Да конкретно уже не в чем. Просто хочу разобраться, а то каша в голове.

Смотрел хелп по структуре TV_ITEM.

pszText

Pointer to a null-terminated string that contains the item text if the structure specifies item attributes. If this member is the LPSTR_TEXTCALLBACK value, the parent window is responsible for storing the name. In this case, the tree-view control sends the parent window a TVN_GETDISPINFO notification message when it needs the item text for displaying, sorting, or editing, and a TVN_SETDISPINFO notification message when the item text changes.

Отсюда и возник вопрос.
Если pszText=LPSTR_TEXTCALLBACK, то где хранится текст узла?
Где-то у родителя? TVN_GETDISPINFO и TVN_SETDISPINFO - это просто информационные сообщения("хочу узел, имей это ввиду") родителю или еще и возвращают/устанавливают информацию об узле.
Если возвращают, то что, ими нужно пользоваться вместо TVM_GETITEM и TVM_SETITEM или как?


 
DVM ©   (2003-07-20 16:15) [3]


> Если pszText=LPSTR_TEXTCALLBACK, то где хранится текст узла?

Где угодно, но не в самом TreeView. Когда ему нужен текст (для перерисовки или еще для чего), он просто запрашивает с помощью извещающих сообщений родительское окно. Родительское окно и должно ответить текстом, картинкой и т.д. Если родительское окно не отвечает, то текст не появится. Грубо говоря так.

Текст я обычно храню в некой структуре, адрес которой лежит в LParam итема.


 
Bless   (2003-07-21 09:16) [4]

В принципе понятно. А как последних двух вопросов. Собственно ответы на них мне и нужны.

1)
TVN_GETDISPINFO и TVN_SETDISPINFO - это просто информационные сообщения("хочу узел, имей это ввиду") родителю или еще и возвращают/устанавливают информацию об узле?

2)
Если возвращают, то что, ими нужно пользоваться вместо TVM_GETITEM и TVM_SETITEM или как?


 
DVM ©   (2003-07-22 15:48) [5]

1) Они сообщают адрес структуры в памяти, в которой содержится (или которую надо наполнить) информация (ией).
2) TVM_GETITEM и TVM_SETITEM тут вообще не нужны.

http://src.fitkursk.ru/online/bsp22/ch3_1.asp - тут все продробно описано, там еще есть статьи, посмотри.
Там и про TreeView и про ListView.

Там правда на C++, но очень просто, только надо сопоставить типы данных из C в эквиваленты на Pascal.


 
Bless   (2003-07-28 16:19) [6]

Спасибо, посмотрю



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

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

Наверх




Память: 0.48 MB
Время: 0.066 c
3-96136
Karnegi,
2003-09-08 13:59
2003.09.29
Как сделать чтобы выделялась вся активная строка.


3-96153
Юлия
2003-09-07 19:02
2003.09.29
Вопрос по comboBox


1-96175
Yuraz
2003-09-16 11:55
2003.09.29
мастера, посмотрите плз, компонент, компилирует, но не добавляет


3-96124
Max_
2003-09-09 13:01
2003.09.29
ADOQuery и Select


1-96251
Armageddon
2003-09-17 15:56
2003.09.29
распознавания текста