Форум: "WinAPI";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
ВнизРазница между сообщениями 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c