Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CListControl - ручное выделение записи


Автор: DAYMOS 28.11.2005, 20:41
Как в CListControl вручную выделенить запись, тоесть посредством кода?
И как можно сделать так, чтобы выделялась вся строка, и сделать сетку. Заранее благодарен.

Автор: kometa_triatlon 29.11.2005, 02:50
Насчет сделать сетку:
Надо выставить стиль report в свойствах, затем такое:

Код

DWORD styles = LVS_EX_FULLROWSELECT | LVS_EX_FLATSB | LVS_EX_GRIDLINES;
    ListView_SetExtendedListViewStyleEx(<название соответствующей контрол-переменной>.m_hWnd,styles,styles);

А чтобы выделить, есть функция SetSelectedColumn( int iCol);
Но мне почему-то выдает, что она не член класса ClistCtrl, хотя это так...

smile

Автор: threef 29.11.2005, 12:20
Код


    MyListCtrlBox->SetExtendedStyle(GetExtendedStyle()
        |LVS_EX_HEADERDRAGDROP
        |LVS_NOLABELWRAP  
        |LVS_EX_MULTIWORKAREAS 
        |LVS_EX_FULLROWSELECT  // вся строка
        |LVS_EX_SUBITEMIMAGES   // с картинками
        |LVS_EX_GRIDLINES );         // сеточка

Автор: threef 30.11.2005, 14:31
Подсветить запись можно посредством

SetHotItem(3)

Выделить нужную строку:

SetItemState(2,LVIS_SELECTED,LVIS_SELECTED)


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)