Не подскажете ли статью или книжку по SysListView32 и сообщениям типа LVM_* LVS_*, его структурам, и тому подобным. Желательно разделенных по типам: вот эти работают с сортировкой, вот эти с отображением, вот эти с изменением данных и пр. В МСДН дофига этих соообщений, в каждое вчитываться тяжеловато... Покурил Win32 API. Урок 31. Контрол ListView http://www.wasm.ru/article.php?article=1001031 но тут мало инфы.
beginner Вся информация к размышлению находится в файле commctrl.h, начиная со строки Код (Text): //====== LISTVIEW CONTROL =====================================================
crypto ссылка на МДСН была бы более полезней. Там только определения этих макросов и ничего более. Код (Text): #define LVS_NOLABELWRAP 0x0080 все сразу стало кристально ясно :-D
beginner Там еще и описания структур :-O Например Код (Text): typedef struct tagLVITEMA { UINT mask; int iItem; int iSubItem; UINT state; UINT stateMask; LPSTR pszText; int cchTextMax; int iImage; LPARAM lParam; #if (_WIN32_IE >= 0x0300) int iIndent; #endif } LVITEMA, FAR* LPLVITEMA; В отличие от МСДН здесь вся инфа сосредоточена в одном месте.
в самом деле, можно сказать и так! что такое, скажем, префикс LVS_ ? Ну что значат первые 2 буквы объяснять не требуется, а вот что же такое S? Судя по соглашениям о наименовании всяческих виндовых констант, это Style, т.е. стилевой флаг. Остальное, зная англяз за курс церковно-приходской школы, разобрать ещё проще: No Label Wrap - Не Разбивать На Строки. Т.е. этот загадочный флаг всего лишь запрещает отображать в итемах многострочный текст! (правда, я такого пока что в non-ownerdraw ListView не видал, но наверное это возможно =D)
LVM - это действительно сообщения. LVN - так наз. коды извещения, передаваемые посредством сообщения WM_NOTIFY в специальной структуре, указатель на которую содержится в LParam при сообщении. ЗЫ: а сообщение и правда продублировалось =)
ну я так понимаю что такой сгрупированной информации по SysListView32 нет, прийдется курить мсдн и гугл по отдельно взятым сообщениям. Очень жаль. Тогда еще такой вопрос: если я вижу, что чужой процесс используется списки, но через spy++ определяется другой класс. Но судя по всему (внешне), этот класс наследуется от SysListView32. Может можно узнать наследуется ли он от каких то стандартных классов? Какова вероятность того, что все стандартные сообщения по извлечению элемента, по добавлению и прочим не изменятся? Спасибо.
AsmGuru62 огромное спасибо!! А слона то я и не приметил... )) После твоей ссылки я нашел и на локальном мсдн-е эту статью... Если бы найти ответ на этот вопрос: Было бы вообще чудесно.