Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2015, 16:21   #1
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Сообщений: 136
По умолчанию [Обновлено] Обработка события "изменение элемента SysTreeView32"

Создаю SysTreeView32. Нужно при изменении элемента, получить его индекс. В MSDN нашел упоминание про TVN_SELCHANGED, который нужно обрабатывать через сообщение WM_NOTIFY.

Поставил обработчик на сообщение WM_NOTIFY в оконной процедуре, но не знаю как получить событие TVN_SELCHANGED.

Скажите, TVN_SELCHANGED нужно заранее как-то прикрепить к WM_NOTIFY (нашел в поисковике упоминание про BEGIN_MESSAGE_MAP и ON_NOTIFY, в котором указывается событие TVN_ITEMCHANGED, idTreeView и процедура обработки, далее идет END_MESSAGE_MAP)?

Последний раз редактировалось Alexan-Dwer; 11.09.2015 в 19:17.
Alexan-Dwer вне форума Ответить с цитированием
Старый 12.09.2015, 16:55   #2
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Сообщений: 136
По умолчанию

Всем, кто пишет на Lazarus (у меня 1.0.8), прошу обратить внимание, что использование константы TVN_SELCHANGED нужно переопределить так:
Код:
TVN_SELCHANGED: UINT = -(402);
Иначе, код:
Код:
//
nm:=PNMHDR(lParam);
//
if nm^.code = TVN_SELCHANGED then TreeViewProc;
у вас не будет работать...

Во всяком случае, у меня условие nm^.code = TVN_SELCHANGED не выполнялось, пока я не переопределил её.

Удачи!

Последний раз редактировалось Alexan-Dwer; 12.09.2015 в 17:05.
Alexan-Dwer вне форума Ответить с цитированием
Старый 12.09.2015, 16:59   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот почему работая в Лазарусе нужно держать под рукой генофонд Делфи
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.09.2015, 17:07   #4
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Сообщений: 136
По умолчанию

Stilet, мне пришлось переписывать на C++
И когда там он заработал, а у меня нет, я начал искать причину, и смог ее найти ...
Alexan-Dwer вне форума Ответить с цитированием
Старый 12.09.2015, 18:16   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну я обычно всетки держу Делфи-6, откуда подбираю генофонд. Лазарус еще развивается, так то в нем бывают косячки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Изменение "Толщины" и "Длины" фигуры одновременно 7vlad37 Microsoft Office Excel 2 13.07.2011 17:53
можно ли прописать стиль для элемента "внутри" этого самого элемента ? vedro-compota HTML и CSS 8 03.05.2010 17:24
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04