Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > WC_LISTVIEW


Автор: Kostik88 9.5.2008, 11:44
Здравствуйте!

Помогите разобраться с таблицей. Я создал таблицу из 6 столбцов и хочю добавить элементы в 1-ый и 3-й столбец в 1-ый добавляется без проблем, а вот во второй не хочет, на этом форуме посмотрел похожие темы и нашёл ф-цию  ListView_SetItemText, всё заработало только вот мне нужно чтобы они могли выделятся с помощью мышки как и в 1-ом столбце....

заранее благодарен.

Код

    InitCommonControls();


 hListView=CreateWindow(WC_LISTVIEW,L"",WS_TABSTOP|WS_CHILD|WS_BORDER|WS_VISIBLE|
LVS_REPORT|LVS_NOSORTHEADER  ,0,0,500,500,hWnd,NULL,NULL,NULL);
 
ListView_SetExtendedListViewStyle(hListView,LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);


lvColumn.mask = LVCF_FMT  |LVCF_WIDTH| LVCF_TEXT | LVCF_SUBITEM;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 125;

for(int i =0; i<6;i++){

lvColumn.iSubItem =i;
lvColumn.pszText = L"заголовок столбца";
 
ListView_InsertColumn(hListView, i, &lvColumn);


}




lvItem.mask = LVIF_IMAGE | LVIF_TEXT | LVIF_PARAM | LVIF_STATE ;
lvItem.pszText = LPSTR_TEXTCALLBACK;
 

 for(int j=0;j<6;j++)
{
  lvItem.iItem = j;
  lvItem.iSubItem = 0;
  lvItem.cchTextMax = 125;
  lvItem.pszText = L" Бла - Бла ";


ListView_InsertItem(hListView,&lvItem);

  lvItem.iItem = j;
 lvItem.iSubItem = 2;
 lvItem.pszText = L" Бла - Бла ";
 ListView_SetItemText( hListView, j, 2, L"12345" );




}

Автор: Kostik88 11.5.2008, 19:19
Здравствуйте ещё раз.

Получилось выделить весь тект, благодаря расширению формата, а т.е. LVS_EX_FULLROWSELECT .

Ктонибудь теперь может сказать как поместить выделенную информацию в буфер обмена?

Автор: 586 11.5.2008, 21:39
Цитата(Kostik88 @  11.5.2008,  20:19 Найти цитируемый пост)
сказать как поместить выделенную информацию в буфер обмена

Получать текст из каждой ячейки отдельно, сформировать одну строку и поместить в буфер обмена.


Автор: Kostik88 11.5.2008, 21:43
Так это ясно, а вот как сделать чтобы выделенный текст поместить в буфер?

Добавлено через 3 минуты и 31 секунду
Как определить какие ячейки выделенны?

Автор: Earnest 12.5.2008, 17:01
См. LVM_GETNEXTITEM с флагом LVIS_SELECTED

Автор: Kostik88 12.5.2008, 21:08
Сасибо. буду разбираться)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)