Два CListCtrl на одном диалоговом окне
От: Vertolet  
Дата: 07.04.05 07:18
Оценка:
Народ, просветите глупого, если не трудно.
Ситуация: имеется dialog-based приложение. Нам нем "натянуты" два списка (CListCtrl, стиль report).
Проблема: когда выделяешь item в одном списке, снимается выделение во втором. Что неприемлемо. Что тут можно сделать?
Среда разработки: MS VisualC 6

Всем заранее спасибо
Re: Два CListCtrl на одном диалоговом окне
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 07.04.05 07:31
Оценка:
Здравствуйте, Vertolet, Вы писали:

V>Ситуация: имеется dialog-based приложение. Нам нем "натянуты" два списка (CListCtrl, стиль report).

V>Проблема: когда выделяешь item в одном списке, снимается выделение во втором. Что неприемлемо. Что тут можно сделать?

Стиль LVS_SHOWSELALWAYS не подойдет?
[ posted via RSDN@Home 1.1.4 beta 4 r388, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re: Два CListCtrl на одном диалоговом окне
От: rus blood Россия  
Дата: 07.04.05 07:32
Оценка:
Здравствуйте, Vertolet, Вы писали:

V>Народ, просветите глупого, если не трудно.

V>Ситуация: имеется dialog-based приложение. Нам нем "натянуты" два списка (CListCtrl, стиль report).
V>Проблема: когда выделяешь item в одном списке, снимается выделение во втором. Что неприемлемо. Что тут можно сделать?
V>Среда разработки: MS VisualC 6

Выделение (selection) никуда не девается.
У тебя фокус переходит с одного контрола на другой.
Попробуй добавить стиль LVS_SHOWSELALWAYS.
Имею скафандр — готов путешествовать!
Re[2]: Два CListCtrl на одном диалоговом окне
От: Аноним  
Дата: 07.04.05 11:02
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Выделение (selection) никуда не девается.

RB>У тебя фокус переходит с одного контрола на другой.
RB>Попробуй добавить стиль LVS_SHOWSELALWAYS.

Спасибо! Заработало
Re[2]: Два CListCtrl на одном диалоговом окне
От: Shanga  
Дата: 12.07.05 06:04
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Здравствуйте, Vertolet, Вы писали:


V>>Народ, просветите глупого, если не трудно.

V>>Ситуация: имеется dialog-based приложение. Нам нем "натянуты" два списка (CListCtrl, стиль report).
V>>Проблема: когда выделяешь item в одном списке, снимается выделение во втором. Что неприемлемо. Что тут можно сделать?
V>>Среда разработки: MS VisualC 6

RB>Выделение (selection) никуда не девается.

RB>У тебя фокус переходит с одного контрола на другой.
RB>Попробуй добавить стиль LVS_SHOWSELALWAYS.

А у меня от LVS_SHOWSELALWAYS, выделение бегает за курсором, при потере фокуса выделение пропадает. Почему
Вот что я делаю:
BOOL CLoadResultsDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();

    m_Results.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_SHOWSELALWAYS);
    m_SubResults.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_SHOWSELALWAYS);
        ...
    return TRUE;  
}
Re[3]: Два CListCtrl на одном диалоговом окне
От: Conductor СССР  
Дата: 12.07.05 08:40
Оценка:
Здравствуйте, Shanga, Вы писали:

S>Здравствуйте, rus blood, Вы писали:


RB>>Здравствуйте, Vertolet, Вы писали:


V>>>Народ, просветите глупого, если не трудно.

V>>>Ситуация: имеется dialog-based приложение. Нам нем "натянуты" два списка (CListCtrl, стиль report).
V>>>Проблема: когда выделяешь item в одном списке, снимается выделение во втором. Что неприемлемо. Что тут можно сделать?
V>>>Среда разработки: MS VisualC 6

RB>>Выделение (selection) никуда не девается.

RB>>У тебя фокус переходит с одного контрола на другой.
RB>>Попробуй добавить стиль LVS_SHOWSELALWAYS.

S>А у меня от LVS_SHOWSELALWAYS, выделение бегает за курсором, при потере фокуса выделение пропадает. Почему

S>Вот что я делаю:
S>
S>BOOL CLoadResultsDlg::OnInitDialog() 
S>{
S>    CDialog::OnInitDialog();

S>    m_Results.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_SHOWSELALWAYS);
S>    m_SubResults.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_SHOWSELALWAYS);
S>        ...
S>    return TRUE;  
S>}
S>



    DWORD dwStyle = m_Results.GetStyle();
    dwStyle |= LVS_SHOWSELALWAYS;
    ::SetWindowLong(m_Results.GetSafeHwnd(), GWL_STYLE, dwStyle);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.