Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
3-96052
P0tia
2003-09-10 17:20
2003.09.29
Люди добрые, помогите с Excel


3-96075
b0bi
2003-09-10 09:45
2003.09.29
OPENQUERY


1-96257
Stas1
2003-09-16 16:26
2003.09.29
RichEdit или что-то другое...???


1-96174
саф
2003-09-16 10:02
2003.09.29
Склеить несколько файлов разных расширений в один


1-96171
servs
2003-09-15 18:33
2003.09.29
проблемы с СОМ под 9х




   Наверх