Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.11.2018, 18:21   #1
Maxim_St
Пользователь
 
Регистрация: 10.05.2017
Сообщений: 15
Репутация: 10
По умолчанию Поиск в ListView(LVM_FINDITEM по LPARAM'етру )

Здравствуйте.

Пытаюсь понять, что я делаю не так.
При добавление в ListView в структуре LVITEMW указываю LPSTR_TEXTCALLBACK и соответственно
обрабатываю LVN_GETDISPINFOW.

Потом по клику!!!(пока что) пытаюсь получить индекс выделенного элемента.

вырезка....
Код:

int IResFind = -1;
LVITEMW lvItem = { 0 };

lvItem.mask = LVIF_PARAM;
lvItem.iItem = iIndItem;
if (0 != SendMessageW(iList, LVM_GETITEMW, 0, LPARAM(&lvItem)))
{
      tagLVFINDINFOW Findit = { 0 };
      Findit.flags = LVIF_PARAM;
      Findit.lParam = lvItem.lParam;

     IResFind = SendMessageW(LV, LVM_FINDITEMW, (WPARAM)-1, (LPARAM)&Findit);
}


IResFind всегда -1.
может я не так понял справку и в Findit.lParam нужно подсовывать что-то другое?
Maxim_St вне форума   Ответить с цитированием
Старый 16.11.2018, 19:32   #2
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,146
Репутация: 840
По умолчанию

Цитата:
Сообщение от Maxim_St Посмотреть сообщение
пытаюсь получить индекс выделенного элемента
А как это связано с поиском по параметру?
Цитата:
Сообщение от Maxim_St Посмотреть сообщение
При добавление в ListView в структуре LVITEMW указываю LPSTR_TEXTCALLBACK
А Вы там параметр вообще устанавливаете?
Black Fregat вне форума   Ответить с цитированием
Старый 16.11.2018, 19:54   #3
Maxim_St
Пользователь
 
Регистрация: 10.05.2017
Сообщений: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
А как это связано с поиском по параметру?

Так хоть понятно какой индекс элемента на самом деле.

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
А Вы там параметр вообще устанавливаете?
Обязательно.
Код:

int LV_AddItem(HWND iList, void *LVList)
{
	LVITEM ItemV = { 0 };

	int iLVItemCount = ListView_GetItemCount(iList);

	ItemV.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_GROUPID;
	ItemV.iSubItem = 0;
	ItemV.iGroupId = I_GROUPIDCALLBACK;
	ItemV.iItem = iLVItemCount;
	ItemV.pszText = LPSTR_TEXTCALLBACK;

	ItemV.iImage = I_IMAGECALLBACK;
	ItemV.lParam = (LPARAM)LVList;

	int iRes = ListView_InsertItem(iList, &ItemV);
	
	return iRes;
}




Никто таким поиском не пользовался?

Последний раз редактировалось Maxim_St; 17.11.2018 в 17:00.
Maxim_St вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в ListView sli-pro Общие вопросы Delphi 3 07.08.2012 12:13
Поиск в ListView / Delphi unreal2x Помощь студентам 1 16.06.2012 12:57
WPARAM wParam, LPARAM lParam, LPVOID *lpParam mizantrop32 Win Api 2 18.02.2011 13:10
Поиск текста в Listview bulldog5293 Общие вопросы Delphi 1 12.02.2011 17:58
WPARAM wParam, LPARAM lParam откуда берётся? Garic_ Общие вопросы C/C++ 4 09.06.2010 22:42


01:55.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru