Re[2]: CTreeCtrl
От: CooLer Россия http://bestsoft.far.ru
Дата: 13.04.02 08:30
Оценка:
Здравствуйте Alex Fedotov, Вы писали:

AF>Здравствуйте CooLer, Вы писали:


CL>>Возникла необходимость создать дерево не в шаблоне диалога, а непосредственно в коде программы. Как положено, вызываю Create, создаю дерево и все вроде работает кроме:


CL>>1. Не приходит сообщение TVN_SELCHANGED. Причем, что интересно, NM_CLICK приходит.


AF>Проверить еще раз message map entry для TVN_SELCHANGED.


Проверил. выглядит так:

ON_NOTIFY(TVN_SELCHANGED, ID_GROUP_TREE, OnSelchangedGroupTree)
ON_NOTIFY(NM_CLICK, ID_GROUP_TREE, OnSelchangedGroupTree)

Одну из строчек я закоментариваю. Если первую — все работает. А если убарть вторую — не фурычит!

CL>>2. (менее важно) Как я не устанавливал стиль WS_BORDER появилась только скучная черная рамка, а не рельефная, как хотелось бы.


AF>Надо поставить расширенный стиль WS_EX_CLIENTEDGE, а WS_BORDER устанавливать не надо.


А как установить расширеный стиль? Пробовал так:

LONG oes = ::GetWindowLong(m_GroupTree.m_hWnd,GWL_EXSTYLE);
::SetWindowLong(m_GroupTree.m_hWnd,GWL_EXSTYLE,oes | WS_EX_CLIENTEDGE);

Не помогает. Рамка пропадает совсем. Даже та, которая была :-(
"Выше голову" — сказл палач, надевая петлю
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.