Re: несколько вопросов по CListCtrl
От: Аноним  
Дата: 17.02.02 06:14
Оценка:
Здравствуйте Пластеев Владимир, Вы писали:

ПВ>Вот какие вопросы:

ПВ>1)
ПВ>есть у меня CTabCtrl, на одной из его вкладок нужно сделать что-то типа Грида.
ПВ>как это сделать?
ПВ>Следующий код компилиться, но при запуске приложения вываливается исключение на создание этого контрола.
ПВ>
ПВ>CString strText;
pmyListCtrl->>Create(
ПВ>   WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,
ПВ>   CRect(10,10,100,100), &m_ctrlTab, 1);

ПВ>//int nColumnCount = pmyListCtrl->GetHeaderCtrl()->GetItemCount();

ПВ>// Insert 10 items in the list view control.
ПВ>for (int i=0;i < 10;i++)
ПВ>{
ПВ>   strText.Format(TEXT("item %d"), i);

ПВ>   // Insert the item, select every other item.
ПВ>   pmyListCtrl->InsertItem(
ПВ>      LVIF_TEXT|LVIF_STATE, i, strText, 
ПВ>      (i%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED,
ПВ>      0, 0);

ПВ>   // Initialize the text of the subitems.
ПВ>   for (int j=1;j < nColumnCount;j++)
ПВ>   {
ПВ>      strText.Format(TEXT("sub-item %d %d"), i, j);
ПВ>      pmyListCtrl->SetItemText(i, j, strText);
ПВ>   }
ПВ>}
ПВ>


ПВ>2)

ПВ>а как сделать, чтобы можно было выбирать всю строчку мышкой? те например есть у меня такая строка
ПВ>item1 item01 item02
ПВ>нужно чтобы при нажатии на item1(или item01 or item02) выделялась вся строчка.
ПВ>3)
ПВ> а как сделать, чтобы CListCtrl отображался как таблица?
ПВ>+------+------+
ПВ>|item1 | item2|
ПВ>+------+------+



чтобы выбирался вся строчку и CListCtrl отображался как таблица исползуи

SetExtendedStyle например

pmyListCtrl->Create(
WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,
CRect(10,10,100,100), &m_ctrlTab, 1);

pmyListCtrl->SetExtendedStyle ( LVS_EX_FULLROWSELECT |
LVS_EX_GRIDLINES );



Сперва надо исползовать InsertColumn и SetColumnWidth

pmyListCtrl->InsertColumn ( 0, strText, LVCFMT_CENTER );
pmyListCtrl->InsertColumn ( 1, strText, LVCFMT_CENTER );
pmyListCtrl->InsertColumn ( 2, strText, LVCFMT_CENTER );

pmyListCtrl->SetColumnWidth ( 0, 100 );
pmyListCtrl->SetColumnWidth ( 1, 100 );
pmyListCtrl->SetColumnWidth ( 2, 100 );

а патом твой код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.