CListCtrl в режиме report
От: bobr Россия www.bobrovskomu.pisem.net
Дата: 18.03.03 11:23
Оценка:
Никак не могу найти нормальной информации по этому классу. Те жалкие отрывки, что везде встречаю — только путают.
Может ли кто-нибудь в паре слов объяснить, как это работает (нужно таблицу из 5 столбцов представить через CListCtrl) Как работает InsertItem, чтобы добавлялось не только зачение первого столбца, но и остальных?
Может, статья какая-нибудь есть для чайников?
Re: CListCtrl в режиме report
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 18.03.03 11:27
Оценка:
Здравствуйте, bobr, Вы писали:

B>Никак не могу найти нормальной информации по этому классу. Те жалкие отрывки, что везде встречаю — только путают.


MSDN-а нет?

B> Может ли кто-нибудь в паре слов объяснить, как это работает (нужно таблицу из 5 столбцов представить через CListCtrl) Как работает InsertItem, чтобы добавлялось не только зачение первого столбца, но и остальных?


а остальные заполняются через SetItem
Вот — новый русский, с пейджером на пузе (В. Вишневский)
Re[2]: CListCtrl в режиме report
От: bobr Россия www.bobrovskomu.pisem.net
Дата: 18.03.03 11:31
Оценка:
Здравствуйте, Odi$$ey, Вы писали:


OE>MSDN-а нет?


У меня проблема с английским... А русскоязычная документация — такое дерьмо...
Re[3]: CListCtrl в режиме report
От: small_cat Россия  
Дата: 18.03.03 11:51
Оценка:
Здравствуйте, bobr, Вы писали:
Хедер


class CVK_1Dlg : public CDialog
{
       ///////////
    CListCtrl m_cLogFiles;   //Класс визардом добавляем. Еще SubclassDlgItem заюзать мона для MFC, но IMHO CW лучше
       ///////////
};


BOOL CMyDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);            // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon
    m_cLogFiles.SetExtendedStyle(m_cLogFiles.GetExtendedStyle() |
        (LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES));
    // TODO: Add extra initialization here
    m_cLogFiles.InsertColumn(0,"#",LVCFMT_LEFT,20,0);
    m_cLogFiles.InsertColumn(1,"Описание",LVCFMT_LEFT,180,0);
    m_cLogFiles.InsertColumn(2,"Число сообщений",LVCFMT_LEFT,60,0);
    m_cLogFiles.InsertColumn(3,"Путь к файлу",LVCFMT_LEFT,180,0);

    //Добавляем наши строки
    static const char* descr[] = {"Строка 1","Строка 2","Строка 3"};
    for(int i = 0;i<sizeof(descr)/sizeof(descr[0]);++i)
    {
        CString str;
        str.Format("%d",i);  //в первой колонке - номер
        int idx = m_cLogFiles.InsertItem(i,str);
        LVITEM li;
        ZeroMemory(&li,sizeof(li));
        li.mask = LVIF_TEXT;
        li.pszText = const_cast<char*>( descr[i] ); //за это могут тухлым помидором кинуть  :) , но работает
        li.iItem = idx;
        li.iSubItem = 1;
        m_cLogFiles.SetItem(&li);  //наша субитемина

    }
    return TRUE;  // return TRUE  unless you set the focus to a control
}


Под WinAPI все гораздо эротичней Можешь глянуть примерчик (для седьмой студии)
- Простите, профессор, не пса, а когда он уже был человеком.
— То-есть он говорил? Это еще не значит быть человеком. (с) Булгаков
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.