Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Копирование элемента на новое место

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


 HTREEITEM CTreeCtrlX::CopyItem( HTREEITEM hItem, HTREEITEM htiNewParent, 
 HTREEITEM htiAfter /*= TVI_LAST*/ )
 {
  TV_INSERTSTRUCT tvstruct;
  HTREEITEM hNewItem;
  CString sText;
 
  // берем информацию источника
  tvstruct.item.hItem = hItem;
  tvstruct.item.mask = TVIF_CHILDREN | TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
  GetItem(&tvstruct.item);
  sText = GetItemText( hItem );
 
  tvstruct.item.cchTextMax = sText.GetLength();
  tvstruct.item.pszText = sText.LockBuffer();
 
  // Вставляем элемент в заданное место
  tvstruct.hParent = htiNewParent;
  tvstruct.hInsertAfter = htiAfter;
  tvstruct.item.mask = TVIF_IMAGE| TVIF_SELECTEDIMAGE | TVIF_TEXT;
  hNewItem = InsertItem(&tvstruct);sText.ReleaseBuffer();
 
  // Теперь копируем данные и состояние элемента
  SetItemData( hNewItem, GetItemData(hItem ));
  SetItemState( hNewItem, GetItemState(hItem, TVIS_STATEIMAGEMASK ),TVIS_STATEIMAGEMASK );
 
  // Вызываем виртуальную функцию для дальнейшей обработки наследованного класса
  OnItemCopied( hItem, hNewItem);
  return hNewItem;
 }
 void CTreeCtrlX::OnItemCopied(HTREEITEM /*hItem*/, HTREEITEM /*hNewItem*/)
 {
  // Виртуальная функция
 
 }
 

 

Источник: ProtoSphere



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS