Бачурин Н.В.

Динамически редактируемое дерево в Win32 API.


Download source ~ 75 Kb

 

2006/01/13

 

This article was contributed by Bachurin Nikolaj Walentinowich.

 

Environment: Win32, VC7 (recommended, but not required).


 

 

Часто требуется в программе иметь дерево с возможностью редактирования. Пример – OutlookExpress, где папки можно перемещать, создавать подпапки, переименовывать их. Сайт www.codeguru.com имеет много примеров деревьев с похожей функциональностью. К сожалению, надо самому дорабатывать примеры программ, объединять их, исправлять ошибки, что требует очень много времени. Кроме того, в них используются классы MFC, что часто не кажется мне хорошим стилем программирования. Я выполнил работу по устранению ошибок, объединению разрозненных отрывков кода. В результате создан класс DragDropTree. Он опирается не на MFC, а на мои классы, которые  основываются на вызовах чистых Win32 API функций - я использовал свою библиотеку подпрограмм , которая позволила избавиться от необходимости использовать MFC для вызова тривиальных API функций. Итак, что представляет собой мое дерево?

Дерево с перетаскиванием и копированием  ветвей, в виде наследника или родственника выбранной ветви. При перетаскивании правой клавишей мыши помимо перетаскивания еще и копирование  ветвей. Левой клавишей мыши только перетаскивание ветвей. Помимо этого при нажатии и удержании правой клавиши мыши в течение 1 сек вызов контекстного меню с пунктами удалить или вставить родственные либо наследственные пункты в меню.

 

Напишите мне письмо

 

Бачурин Николай Валентинович. 13-31.01.2006.

 

Хостинг от uCoz