Здравствуйте.
среда VC++ 6.0
Есть окно производное от CFormView.
На нем CTabCtrl. Количество вкладок исходно неизвестно. Как и их названия
for(i=0....){
...
m_tab.InsertItem(i, &tci);
}
На каждую вкладку надо поместить диалог с CListCtrl и CTreeCtrl
list = new CDial[pDoc->GetSize()]; // создали диалоги для вкладок
Теперь размещаем диалоги на места
for(i=0; i<pDoc->GetSize(); i++) // пройдемся по количеству и заполним вкладки
{
tci.mask = TCIF_PARAM;
tci.lParam = (LPARAM)&(list[i]);
m_tab.SetItem(i, &tci);
list[i].Create(CDial::IDD, &m_tab);
... // выравнивание, заполнение и visible кого-то из них
}
И вроде бы все здорово. Но. Дело дошло до тыканья в CListCtrl мышой. Что б выбрать столбик сортировки.
И тут вроде работает. Стрелочка моя рисуется. Только стираться не желает.
void CDial::OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
HDITEM hdi;
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
m_tabl.GetHeaderCtrl()->GetItem(0, &hdi); // запрос у CListCtrl чего там в нулевой колонке с заголовком
...
и hdi.mask говорит что никакой стрелочки там нет. Соответственно понять рисовать или стирать признак сортировки не возможно.
Понять где напортачила не получается. Хотя вру. Есть подозрение на динамическое создание диалога.
Я тут лазила, но то ли поиск задавала неправильно, ничего не нашла.
Может кто подскажет. Ну, или пошлет в правильном направлении. )
12.10.10 00:42: Перенесено из 'C/C++'