Текущий архив: 2003.05.08;
Скачать: CL | DM;
Вниз
Приветствую Мастеров! Как получит Handle кнопки в ToolBar-e... Найти похожие ветки
← →
IronHawk (2003-04-24 15:28) [0]... тоесть ToolButton1?
← →
MBo (2003-04-24 15:29) [1]нет у них хэндлов - они не оконные элементы
← →
IronHawk (2003-04-24 15:32) [2]
> MBo © (24.04.03 15:29)
Но Битмапы-то прорисовываються, и фокус у них есть, и события, значит как-то это отловить можно!
Но как?
← →
MBo (2003-04-24 15:36) [3]Это TGraphicControl, фокуса у них нет, а события передаются от родителя.
← →
IronHawk (2003-04-24 15:40) [4]А как с помощью родителя отрисовать битмап, скажем на 2-й кнопке?
← →
MBo (2003-04-24 15:43) [5]Дык свойство Images
← →
IronHawk (2003-04-24 15:49) [6]Нет, в рантайме!
← →
IronHawk (2003-04-24 15:50) [7]Скажем, у меня есть ТулБар с 5 кнопками и просто Батон, мне надо по клику на Батон !отрисовать! Битмап на 2-й кнопке, как?
← →
Digitman (2003-04-24 15:57) [8]
> IronHawk
ты опять старую песню завел ??
← →
MBo (2003-04-24 15:58) [9]ToolButton2.ImageIndex:=2;
← →
IronHawk (2003-04-24 16:00) [10]
> Digitman © (24.04.03 15:57)
Чш-ш-ш-ш-ш.
Тут не до баловства, реальный вопрос возник!
> MBo © (24.04.03 15:58)
Это если битмапы заведены в ИмеджЛист, а если это отдельное файло?
← →
MBo (2003-04-24 16:01) [11]только так.
← →
IronHawk (2003-04-24 16:04) [12]Хорошо, поставлю ещё один вопрос:
Как отлавливать события мыши кнопкой ТулБатон3 и чтоб ТулБатон3 на них реагировала, как это реализовать?
← →
Digitman (2003-04-24 16:08) [13]и все-таки ты опять за старое взялся !)
ну есть же у класса TControl события OnMouse.., OnClick !
а класс TToolBar и есть наследник TControl !
← →
IronHawk (2003-04-24 16:17) [14]Необходимо отлавливать сообщение WM_MOUSELEAVE - когда мышь покидает контрол.
Для этого заполняется специальная структура TRACKMOUSEEVENT и подменяется WNDPROC окна.
Так вот когда я передаю в структуру (она требует handle)
TToolBar.Handle - все работает отлично.
Когда мышь покидает тооlbar - возникает созданное мной событие ON_MOUSE_LEAVE.
Но я хочу, чтобы это событие генерировалось и для кнопок на toolbar-e, а не только для него самого.
Для этого в заполняемую структуру надо передать handle, но где его взять?
← →
Digitman (2003-04-24 16:30) [15]каждая кнопка TToolButton в составе ToolBar-контейнера есть объект класса TControl и имеет соотв-щие published-св-ва Left, Top, Width, Height
Вполне достаточно обработать событие ToolBar.OnMouseMove(), чтобы, имея список объектов-кнопок в его составе, определить, в зоне граф.изображения какой кнопки находится в дан.момент мышиный курсор... запоминая предыдущее положение курсора, можно вполне успешно эмулировать события а-ля ENTER/LEAVE и без всякого "огорода" с "хэндлами", "отловами сообщений" и пр.мути))
← →
IronHawk (2003-04-24 16:38) [16]
> Digitman © (24.04.03 16:30)
А если я в ТулБар загоню 50 Батонов то как мне эмулировать на всех них "события а-ля ENTER/LEAVE", и есть ли смысл хранить столько переменных и стоит ли затрат ресурсов?
← →
Skier (2003-04-24 16:39) [17]>Digitman
И как это ты всё это выдерживаешь ? :)
← →
Digitman (2003-04-24 16:48) [18]
> IronHawk
и не вздумай даже ! есть такое понятие - "массив"))))
> Skier
уж больно любопытно мне, как сея одиозно-героическая персона "обнуляет переменную совсем") ... ради этого готов выдержать мучительное ожидание))))
← →
January (2003-04-24 17:05) [19]Эмулировать события с помощью подсчета координат - это похлеще безалкогольного пива и резиновых женщин...
Страницы: 1 вся ветка
Текущий архив: 2003.05.08;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.008 c