Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отменить выделение строки CListCtrl-a 
V
    Опции темы
Antropoid
Дата 19.8.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



Собственно вопрос озвучен(отмечу, что список,естесно,имеет стиль LVS_EX_FULLROWSELECT).


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
Romikgy
Дата 20.8.2006, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 146



LB_SETSEL 
An application sends an LB_SETSEL message to select a string in a multiple-selection list box. 

LB_SETSEL  
wParam = (WPARAM) (BOOL) fSelect;   // selection flag 
lParam = (LPARAM) (UINT) index;     // item index 
 

Parameters

fSelect

Value of wParam. Specifies how to set the selection. If the fSelect parameter is TRUE, the string is selected and highlighted; if fSelect is FALSE, the highlight is removed and the string is no longer selected. 


index

Value of lParam. Specifies the zero-based index of the string to set. If index is -1, the selection is added to or removed from all strings, depending on the value of fSelect. 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Antropoid
Дата 20.8.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



Че-то не получается  smile  --->

Код


this->Create(LVS_REPORT | LVS_ALIGNLEFT | WS_CHILD |  WS_VISIBLE | WS_TABSTOP | LVS_EDITLABELS | LBS_NOTIFY,CRect(0,0,100,200),TabsCtrl,IDC_LIST1);
    
this->SendMessage(LB_SETCURSEL,(WPARAM)FALSE,(LPARAM)5); 


 smile 


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
Romikgy
Дата 20.8.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 146



Код

ListView_SetItemState(this->Handle,5,0,LVIS_SELECTED);

так попробуй


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Antropoid
Дата 20.8.2006, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



Ты,наверное, имел ввиду 
Код

ListView_SetItemState(this->GetSafeHwnd(),5,0,LVIS_SELECTED);

, но итак не канает! smile 


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
Romikgy
Дата 20.8.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 146



добавь после 
SetFocus(this->GetSafeHwnd());
и будет те щастье


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Antropoid
Дата 22.8.2006, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



Ты наверно имел ввиду 
Код

this->SetFocus();

, но и так мне одно горе! smile 


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
Earnest
Дата 23.8.2006, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Попробуй убрать не только LVIS_SELECTED, но и LVIS_FOCUSED. Т.е.
ListView_SetItemState (this->GetSafeHwnd(), 5, 0, LVIS_SELECTED | LVIS_FOCUSED);
И кстати, у CListCtrl есть метод SetItemState: SetItemState (5, 0, LVIS_SELECTED | LVIS_FOCUSED);
А также проверь, нет ли у контрола стиля  LVS_SHOWSELALWAYS.



--------------------
...
PM   Вверх
Antropoid
Дата 23.8.2006, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



LVS_SHOWSELALWAYS - нет, но на всякий случай --->
Код

this->SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP| LVS_EX_FULLROWSELECT);

правильно так :
Код

this->SetItemState(5, LVIS_SELECTED, LVIS_SELECTED);
    
но я то просил подсказать, как отменить выделение?


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
Romikgy
Дата 23.8.2006, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 146



Цитата(Antropoid @  23.8.2006,  20:45 Найти цитируемый пост)
this->SetItemState(5, LVIS_SELECTED, LVIS_SELECTED);

Код

this->SetItemState(5, 0, LVIS_SELECTED);


Добавлено @ 21:50 
Цитата(Earnest @  23.8.2006,  08:05 Найти цитируемый пост)
SetItemState (5, 0, LVIS_SELECTED | LVIS_FOCUSED);




--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Antropoid
Дата 23.8.2006, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

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



Ну наконец-то!
Код
 :D 
this->SetItemState(5, 0, LVIS_SELECTED|LVIS_FOCUSED); 

-канает! А в случае
Код

this->SetItemState(5, 0, LVIS_SELECTED); 

- хоть выделение  и пропадает, но на его месте виднеется пунктирный прямоугольник - фокус ввода...
Ну тогда все. Всем спасибо. Закрыли тему.


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


 




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


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

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