Как добавить флажки в несколько столбцов в VC++

Я новичок в Visual C++, я использую Visual C++ 2005, я хочу показать некоторые записи в отчете, где я использую ListControl, Моя единственная запись записей содержит два логических поля, так что каждая строка в ListControl должны быть представлены с флажками. Вкратце, в каждом ряду будет два флажка. Я использовал ListControl но я обнаружил, что есть только один флажок для каждой записи. Кто-нибудь может объяснить, как я могу добавить несколько столбцов флажков в ListControlтакже, какие другие классы я могу использовать для того же в Visual C++. Я реализовал InitDialog как:

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

    m_listCtrl.SetExtendedStyle(LVS_EX_CHECKBOXES);
    m_listCtrl.InsertColumn(1,"First-Bool");
    m_listCtrl.SetColumnWidth(0, 70);

    UInt16 i = 0;
    CString pcid;

    for ( ; i <= 503; i++) {
        pcid.Format(_T("%d"), i);
        m_listCtrl.InsertItem(i, pcid);
    }

    return true;
}

1 ответ

Решение

CListCtrl Класс с представлением отчета позволит вам добавлять флажки только в первом столбце. Чтобы добавить флажки в несколько столбцов, вы должны получить собственный CListCtrl и сделать это самостоятельно. Вот несколько примеров, которые могут вам помочь:

  1. http://www.codeproject.com/Articles/29064/CGridListCtrlEx-Grid-Control-Based-on-CListCtrl
  2. http://www.codeproject.com/Articles/1796/XListCtrl-A-custom-draw-list-control-with-subitem
  3. http://www.codeproject.com/Articles/8112/CQuickList
Другие вопросы по тегам