Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как получить имена полей в listview [D7, XP]


4izh ©   (2006-08-11 23:07:00) 

народ,
как используя сообщения узнать названия полей в компоненте listview(стиль репорт)
который находится в чужом приложении .
какое сообщение надо отослать чтоб получить оную информацию ???


malyar   (2006-08-13 16:58:00) [1]

нет не значения итемов меня интересуют, а название  поля в  заголовке .
а делается ето так :
var
buf:array [0..254] of char;
hd_itm:hd_item;
hnd:hwnd;
begin
hnd:=findwindowex(listview1.Handle,0,pchar('SysHeader32'),nil);
 if hnd = 0 then begin showmessage('error');exit;end;

 hd_itm.cchTextMax:=254;
 hd_itm.pszText:=@buf[0];

 sendmessage(hnd,hdm_getitem,1,lparam(@hd_itm));

 edit1.Text:=string(buf);
end;

и естественно в реальных условиях придется юзать чужое А.П.


begin...end   (2006-08-12 08:49:00) [2]

И память для всей структуры LVITEM, конечно, тоже нужно будет выделить в чужом процессе.


begin...end   (2006-08-12 08:47:00) [3]

Если под полями подразумевается текст в ячейках, то LVM_GETITEMTEXT. Только не забудьте, что буфер для приёма текста нужно будет выделить в чужом приложении, а после посылки сообщения скопировать в своё.


Наверх

Титульная страница Поиск, карта сайта Написать письмо