Вот какие вопросы:
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|
+------+------+
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 отображался как таблица исползуи
спасибо, только все равно вываливается ошибка.
я эти действия делаю в void CICIG_aView::OnInitialUpdate()
может быть следует поместить это другое место?
но при этом я создаю тут же несколько диалогов и помещаю их на закладки и все работает.
Здравствуйте Пластеев Владимир, Вы писали:
ПВ>спасибо, только все равно вываливается ошибка. ПВ>я эти действия делаю в void CICIG_aView::OnInitialUpdate() ПВ>может быть следует поместить это другое место? ПВ>но при этом я создаю тут же несколько диалогов и помещаю их на закладки и все работает.
Ты напиши подробнее, что за ошибка. Это первое, а второе — ты используешь указатель, значит, где-то должен быть new — ты его, часом, не забыл сделать?
Re: несколько вопросов по CListCtrl
От:
Аноним
Дата:
18.02.02 12:27
Оценка:
Здравствуйте Пластеев Владимир.
Вставь себе эту строку (сетка)
m_ctrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
Re[3]: несколько вопросов по CListCtrl
От:
Аноним
Дата:
18.02.02 13:09
Оценка:
Здравствуйте Андрей, Вы писали:
А>Здравствуйте Пластеев Владимир, Вы писали:
ПВ>>спасибо, только все равно вываливается ошибка. ПВ>>я эти действия делаю в void CICIG_aView::OnInitialUpdate() ПВ>>может быть следует поместить это другое место? ПВ>>но при этом я создаю тут же несколько диалогов и помещаю их на закладки и все работает.
А>Ты напиши подробнее, что за ошибка. Это первое, а второе — ты используешь указатель, значит, где-то должен быть new — ты его, часом, не забыл сделать?
похоже забыл.... а как правильно надо?
Unhandled exeption in ICIG.exe (MFC42.DLL): 0xC0000005: Access Violation.
Здравствуйте Аноним, Вы писали:
А>Здравствуйте Андрей, Вы писали:
А>>Здравствуйте Пластеев Владимир, Вы писали:
ПВ>>>спасибо, только все равно вываливается ошибка. ПВ>>>я эти действия делаю в void CICIG_aView::OnInitialUpdate() ПВ>>>может быть следует поместить это другое место? ПВ>>>но при этом я создаю тут же несколько диалогов и помещаю их на закладки и все работает.
А>>Ты напиши подробнее, что за ошибка. Это первое, а второе — ты используешь указатель, значит, где-то должен быть new — ты его, часом, не забыл сделать? А>похоже забыл.... а как правильно надо? А>Unhandled exeption in ICIG.exe (MFC42.DLL): 0xC0000005: Access Violation.
Не используй указатели там, где они не нужны, лучше объяви свой ListCtrl как переменную-член view, то есть примерно так:
class CICIG_aView : public CView
{
CListCtrl m_wndListCtrl;
public:
void OnInitialUpdate();
};
void CICIG_aView::OnInitialUpdate()
{
...
m_wndListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, CRect(10,10,100,100), &m_ctrlTab, 1);
...
}
// ну и т.д.