CTreeView : разрушить и создать

Тема в разделе "LANGS.C", создана пользователем sen, 6 апр 2009.

  1. sen

    sen New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2005
    Сообщения:
    47
    есть динамический сплиттер и один из видов в нем CTreeView. хочу разбиение из горизонтального сделать вертикальным либо вообще скрыть вид с CTreeView.
    DeleteView() при этом разрушает дерево CTreeCtrl (или только у меня оно разрушается).

    как можно сохранить собственно дерево между DeleteView() и новым CreateView() ?
    или как поменять vert/horz, hide/unhide без DeleteView()/CreateView() ?
     
  2. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    183
    Адрес:
    Ukraine
    CTreeCtrl как мембер View? если так - да оно разрушится
    можно код увидеть?
     
  3. sen

    sen New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2005
    Сообщения:
    47
    RedLord
    CTreeCtrl как родной мембер CTreeView, мой вид унаследован от CTreeView, всякие добавления/удаления через GetTreeCtrl. при DeleteView этот самый GetTreeCtrl идет лесом, в результате если сделано hide/unhide надо дерево перестраивать заново, а там несколько десятков (до сотен) тысяч листов. Их надо как-то сберечь либо уметь скрывать вид/ориентацию динамического сплитера без DeleteView
     
  4. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    183
    Адрес:
    Ukraine
    http://www.codeguru.com/cpp/w-d/splitter/article.php/c1557/
    здесь как можно поменять vert/horz
     
  5. sen

    sen New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2005
    Сообщения:
    47
    RedLord
    спасибо! оригинальный подход :), попробую как это будет работать на вложенном динамическом сплитере. только hide/unhide как-то неправильно сделано IMHO, и в комментах сказано что имеет место утечка памяти хотя у меня на оригинальном примере ничего не наблюдается.
     
  6. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    183
    Адрес:
    Ukraine
    что есть - то есть.
    поэтому и добавил
    :)

    в комментах про утечку описан альтернативный вариант hide/unhide.