15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Combobox с несколькими колонками и чекбоксами


Автор: Jakawan Ratiwanich

Этот пример предназначен для тех, кому понадобилось поместить элементы в ComboBox и разделить их на колонки. Все возможности класса JCombo представлены на картинках.

Итак, что нам необходимо сделать

  1. Поместите на форму Ownerdraw Combobox.
  2. Объявите Combobox как JCombo.
  3. Для добавления элементов в список используйте CJCombo::AddItem(text,Column,Row) вместо AddString(..).
  4. Для получения содержимого списка используйте CJCombo::GetLBText(Column,Row,&rString);

Пример использования Combobox с одной колонкой:


        m_MULTICOLUMNCOMBOBOX.FormatList(1,DT_LEFT,FALSE,NORMAL); 
        // одна колонка, нет линий сетки, показывать подсказку
  	CString str;
        for (i=0;i<=10;i++){  
		str.Format("Item %d",i);
               	m_MULTICOLUMNCOMBOBOX.AddItem(str,0,i);
                .
                .
        }

ИЛИ с несколькими колонками


	// устанавливаем три колонки
        m_MULTICOLUMNCOMBOBOX.FormatList(3,DT_LEFT,FALSE,EDGE);

        for (i=0;i<=20;i++){  
                str.Format("Item : %d",i);        
                m_MULTICOLUMNCOMBOBOX.AddItem("TESTING",0,i);
                m_MULTICOLUMNCOMBOBOX.AddItem(str,1,i);
                m_MULTICOLUMNCOMBOBOX.AddItem(_T("3rd Column0123456789"),2,i);
                .
                .

 

Скачать исходник - 7Kb.

Скачать пример - 46Kb.