MDI-Application, в одном из фреймов есть контролы CTreeCtrl и CListCtrl. После определенных действий в список добавляются строки и полностью пересоставляется структура дерева. Добавление строки в список проходит нормально, таблица прорисовывает сама себя, а вот после перестройки дерева (сначала делаю DeleteAllItems() а потом поновой составляю дерево) контрол CTreeCtrl не перерисовывается хотя при выделении мышкой видно что дерево построилось но вот кроме белого пятна ничего не видно 8( я пробовал уже и UpdateWindow(), RedrawWindow(), InvalidateRect() ничего не помогает, а вот при скрытии (Minimize child window) фрейма и развертывании обратно контрол перерисовывается. Как перерисовать его программно?
Благодарю за внимание.
"black_c0de" <forum@rsdn.ru> wrote in message news:572710@news.rsdn.ru... > MDI-Application, в одном из фреймов есть контролы CTreeCtrl и CListCtrl. После определенных действий в список добавляются строки и полностью пересоставляется структура дерева. Добавление строки в список проходит нормально, таблица прорисовывает сама себя, а вот после перестройки дерева (сначала делаю DeleteAllItems() а потом поновой составляю дерево) контрол CTreeCtrl не перерисовывается хотя при выделении мышкой видно что дерево построилось но вот кроме белого пятна ничего не видно 8( я пробовал уже и UpdateWindow(), RedrawWindow(), InvalidateRect() ничего не помогает, а вот при скрытии (Minimize child window) фрейма и развертывании обратно контрол перерисовывается. Как перерисовать его программно? > Благодарю за внимание.
Здравствуйте, ank, Вы писали:
ank>В свойствах TreeCtrl поставь Scroll=True
ank>"black_c0de" <forum@rsdn.ru> wrote in message news:572710@news.rsdn.ru... >> MDI-Application, в одном из фреймов есть контролы CTreeCtrl и CListCtrl. После определенных действий в список добавляются строки и полностью пересоставляется структура дерева. Добавление строки в список проходит нормально, таблица прорисовывает сама себя, а вот после перестройки дерева (сначала делаю DeleteAllItems() а потом поновой составляю дерево) контрол CTreeCtrl не перерисовывается хотя при выделении мышкой видно что дерево построилось но вот кроме белого пятна ничего не видно 8( я пробовал уже и UpdateWindow(), RedrawWindow(), InvalidateRect() ничего не помогает, а вот при скрытии (Minimize child window) фрейма и развертывании обратно контрол перерисовывается. Как перерисовать его программно? >> Благодарю за внимание.
Здравствуйте, ank, Вы писали:
ank>В свойствах TreeCtrl поставь Scroll=True
ank>"black_c0de" <forum@rsdn.ru> wrote in message news:572710@news.rsdn.ru... >> MDI-Application, в одном из фреймов есть контролы CTreeCtrl и CListCtrl. После определенных действий в список добавляются строки и полностью пересоставляется структура дерева. Добавление строки в список проходит нормально, таблица прорисовывает сама себя, а вот после перестройки дерева (сначала делаю DeleteAllItems() а потом поновой составляю дерево) контрол CTreeCtrl не перерисовывается хотя при выделении мышкой видно что дерево построилось но вот кроме белого пятна ничего не видно 8( я пробовал уже и UpdateWindow(), RedrawWindow(), InvalidateRect() ничего не помогает, а вот при скрытии (Minimize child window) фрейма и развертывании обратно контрол перерисовывается. Как перерисовать его программно? >> Благодарю за внимание.
Здравствуйте, ank, Вы писали:
ank>В свойствах TreeCtrl поставь Scroll=True
ank>"black_c0de" <forum@rsdn.ru> wrote in message news:572710@news.rsdn.ru... >> MDI-Application, в одном из фреймов есть контролы CTreeCtrl и CListCtrl. После определенных действий в список добавляются строки и полностью пересоставляется структура дерева. Добавление строки в список проходит нормально, таблица прорисовывает сама себя, а вот после перестройки дерева (сначала делаю DeleteAllItems() а потом поновой составляю дерево) контрол CTreeCtrl не перерисовывается хотя при выделении мышкой видно что дерево построилось но вот кроме белого пятна ничего не видно 8( я пробовал уже и UpdateWindow(), RedrawWindow(), InvalidateRect() ничего не помогает, а вот при скрытии (Minimize child window) фрейма и развертывании обратно контрол перерисовывается. Как перерисовать его программно? >> Благодарю за внимание.
Здравствуйте, black_c0de, Вы писали:
_>MDI-Application, в одном из фреймов есть контролы CTreeCtrl и CListCtrl. После определенных действий в список добавляются строки и полностью пересоставляется структура дерева. Добавление строки в список проходит нормально, таблица прорисовывает сама себя, а вот после перестройки дерева (сначала делаю DeleteAllItems() а потом поновой составляю дерево) контрол CTreeCtrl не перерисовывается хотя при выделении мышкой видно что дерево построилось но вот кроме белого пятна ничего не видно 8( я пробовал уже и UpdateWindow(), RedrawWindow(), InvalidateRect() ничего не помогает, а вот при скрытии (Minimize child window) фрейма и развертывании обратно контрол перерисовывается. Как перерисовать его программно? _>Благодарю за внимание.
Здравствуйте, kolam, Вы писали:
K>Здравствуйте, black_c0de, Вы писали:
_>>Как перерисовать его программно? K>Invalidate() а потом сразу UpdateWindow() не помогают?
нет, зато могла установка свойства scroll=TRUE, логики не вижу но факт в том, что теперь работает 8)
Scroll=false, соответствует установке стиля TVS_NOSCROLL.
Из MSDN:
TVS_NOSCROLL — Disables both horizontal and vertical scrolling in the control. The control will not display any scroll bars.
Я себе объясняю это ошибкой Microsoft'а.
"black_c0de" <forum@rsdn.ru> wrote in message news:574164@news.rsdn.ru... > Здравствуйте, ank, Вы писали: > > ank>В свойствах TreeCtrl поставь Scroll=True > > конкретно! 8) благодарю, помогло. > > скажи, а как связана проблема с свойством scroll? хочу понять суть.