Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > 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,145
Репутация: 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


19:53.


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

RusProfile.ru


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