Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.019 c
3-22954
Angel[Saint]
2003-04-17 08:15
2003.05.08
Как написать своего провайдера


6-23261
Val_123
2003-03-13 15:05
2003.05.08
Невидимый WebBrowser


3-22932
DenKop
2003-04-18 07:35
2003.05.08
SQL dump данных Interbase 6.5


3-22913
Desdechado
2003-04-17 17:47
2003.05.08
BDE и параметры транзакций


1-23098
I/O
2003-04-25 16:47
2003.05.08
клоны?!