Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CListCtrl и выделение 
:(
    Опции темы
tonchitos
Дата 18.7.2008, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



В общем  есть CListCtrl...

 выделяю айтем таким способом:

Код

    m_ListBoxType.SetItem(pos, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED |LVIS_ACTIVATING, 0); 



выделяется, сереньким... ну бог с ним каким цветом...

фишка в том что я не пойму как узнать, какой элемент был выделен...

m_ListBoxType.GetSelectionMark()

работает только если айтем выделяет юзер

если выделяется программно (и кстати почему сереньким), то GetSelectionMark() не работает... ((((


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Torsten
Дата 20.7.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 10.6.2008
Где: Pskov

Репутация: нет
Всего: 7



Нашел вот такую тему на другом форуме, посмотри.
И по поводу получение выделенных элементов, в MSDN так это действие показано :
Код

CListCtrl* pListCtrl = static_cast<CListCtrl*>(GetDlgItem(IDC_YOURLISTCONTROL));
ASSERT(pListCtrl);

POSITION pos = pList->GetFirstSelectedItemPosition();
if (pos == NULL)
   TRACE0("No items were selected!\n");
else
{
   while (pos)
   {
      int nItem = pList->GetNextSelectedItem(pos);
      TRACE1("Item %d was selected!\n", nItem);
      // you could do your own processing on nItem here
   }
}


--------------------
We have no begining, we have no end. We are infinite.
PM MAIL   Вверх
tonchitos
Дата 21.7.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



я эту темку уже читала...
Там про то как выделить этот айтем чертов...

а как получить выделение при не множественном выделении айтема - нету....
пробовала гетайтем - не то


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Torsten
Дата 21.7.2008, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 10.6.2008
Где: Pskov

Репутация: нет
Всего: 7



хм ... я вот использую в своем проекте GetFirstSelectedItemPosition и GetNextSelectedItem - и без проблем получается с выделенными элементами работать.

Попробуй еще вот так выделить :
Код

SetItemState(nSelectItem, LVIS_SELECTED, LVIS_SELECTED | LVIS_FOCUSED);


А вот статейка  с примером использования CListCtlr, на английском языке. 
--------------------
We have no begining, we have no end. We are infinite.
PM MAIL   Вверх
Nastya
Дата 22.7.2008, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 1
Всего: 44



А CListCtrl::SetSelectionMark  не работает?


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
S.A.G.
Дата 22.7.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Custom Draw точно поможет во всех операциях с рисованием, выделением и т.п. smile


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
tonchitos
Дата 22.7.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



Цитата(Nastya @  22.7.2008,  09:30 Найти цитируемый пост)
CListCtrl::SetSelectionMark  не работает? 

это если разрешено множественное выделение


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.