CListView
6 отговора
139 прегледа
CListView
Здравейте.
Имам малко проблемче.
Направих си един SDI проект във VC. Лявото пано е CListView , дясното е CFormView.
Става дума за CListView-то. То използва стандартния CListCtrl,а на мен той не ми върши работа и затова си намерих сорса на един
подходящ CListCtrl --> XListCtrl. Контрола е много хубав и проекта ми е почти пред завършване, ОБАЧЕ
не знам как да заместя стандартния CListCtrl в CListView-то с този XListCtrl.
Някакви идеи?
Имам малко проблемче.
Направих си един SDI проект във VC. Лявото пано е CListView , дясното е CFormView.
Става дума за CListView-то. То използва стандартния CListCtrl,а на мен той не ми върши работа и затова си намерих сорса на един
подходящ CListCtrl --> XListCtrl. Контрола е много хубав и проекта ми е почти пред завършване, ОБАЧЕ
не знам как да заместя стандартния CListCtrl в CListView-то с този XListCtrl.
Някакви идеи?
Re: CListView
XListCtrl покрива ли 100% функционалността на CListCtrl?
Я вышел им наперерез!
Я вышел им наперерез!
Re: CListView
Нещо такова би трябвало да свърши работа:
XListCtrl* pXListCtrl = new XListCtrl;
pXListCtrl->Create(...);
DestroyWindow(GetListCtrl()->m_hWnd);
GetListCtrl()->SubclassWindow(pXListCtrl->m_hWnd);
Надявам се да схващаш за какво става дума.
Я вышел им наперерез!
XListCtrl* pXListCtrl = new XListCtrl;
pXListCtrl->Create(...);
DestroyWindow(GetListCtrl()->m_hWnd);
GetListCtrl()->SubclassWindow(pXListCtrl->m_hWnd);
Надявам се да схващаш за какво става дума.
Я вышел им наперерез!
Re: CListView
1. Включваш в проекта всички файлове, които трябва. Там от където си го взел пише.
2. Във View класа слагаш променлива CXListCtrl m_List;
3. Прихващаш WM_CREATE
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1;
m_List.SubclassWindow (GetSafeHwnd () );
m_List.SubclassHeaderControl (); //
return 0;
2. Във View класа слагаш променлива CXListCtrl m_List;
3. Прихващаш WM_CREATE
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1;
m_List.SubclassWindow (GetSafeHwnd () );
m_List.SubclassHeaderControl (); //
return 0;
Re: CListView
Не става и с 2-та примера.
// 1 primer
OnCreate(){
//...
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1;
pXListCtrl = new CXListCtrl();
RECT r;
//GetListCtrl().GetClientRect(&r);
pXListCtrl->Create(LVS_REPORT, r, this, 10022);
::DestroyWindow(GetListCtrl().m_hWnd);
GetListCtrl().SubclassWindow(pXListCtrl->m_hWnd); // run time error
//...
}
// 2 primer
OnCreate(){
//..
// NOT
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1;
m_List.SubclassWindow (GetSafeHwnd () );
m_List.SubclassHeaderControl (); // run time error
//..
}
// 1 primer
OnCreate(){
//...
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1;
pXListCtrl = new CXListCtrl();
RECT r;
//GetListCtrl().GetClientRect(&r);
pXListCtrl->Create(LVS_REPORT, r, this, 10022);
::DestroyWindow(GetListCtrl().m_hWnd);
GetListCtrl().SubclassWindow(pXListCtrl->m_hWnd); // run time error
//...
}
// 2 primer
OnCreate(){
//..
// NOT
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1;
m_List.SubclassWindow (GetSafeHwnd () );
m_List.SubclassHeaderControl (); // run time error
//..
}
Re: CListView
Прав си.
Сега не ми се пише повече, виж този пример, точно каквото ти трябва. Ако не се оправиш питай пак.
[линк]
Сега не ми се пише повече, виж този пример, точно каквото ти трябва. Ако не се оправиш питай пак.
[линк]