Вниз
Скачать: CL | DM;

Координаты кнопок на Toolbar   Найти похожие ветки 

← →
NewN ©   (2003-05-06 12:54) [0]

Добрый день уважаемые мастера!
Можно ли как нибудь определить/(или как правильно посчитать) координату правой границы последней кнопки на Toolbar? (Хочу поместить свой элемент управления непосредственно после.)


← →
Игорь Шевченко ©   (2003-05-06 15:35) [1]

Для своего приложения ?


← →
NewN ©   (2003-05-06 15:45) [2]

Да, конечно, мне чужого не надо.


← →
Игорь Шевченко ©   (2003-05-06 17:32) [3]

var
LastButton : TControl;
begin
LastButton := ToolBar1.Buttons[Pred(ToolBar1.ButtonCount)];
{ Left и Top LastButton будут координатами }
end;

если VCL не используется, то поглядеть по исходникам, во что преобразуются вызовы методов Toolbar.


← →
NewN ©   (2003-05-07 08:46) [4]

VCL не используется. Как же мог опять забыть про исходники VCL!
Сильно запутанно и накручено, но вот что удалось выяснить -

TToolButton = class(TGraphicControl), с перекрытыми методами Paint, MouseDown, MouseMove, MouseUp. TToolButton из VCL сама отрисовывается в методе TToolButton.Paint, сама следит за мышкой, а координаты расчитываются в зависимости от индекса, и её положение на ToolBar скорее всего не соответствует положению реальной кнопки из Windows. Я понял, что в общем случае узнать координаты и размер кнопки на ToolBar невозможно, если конечно нет для этого недокументированных сообщений. Жаль.


← →
nikkie ©   (2003-05-07 14:59) [5]

TB_GETITEMRECT


← →
NewN ©   (2003-05-07 16:02) [6]

>>nikkie © (07.05.03 14:59)
Большое спасибо, как я сам его пропустил, ведь смотрел, несколько раз проходил глазами по этим TB_...! В следующий раз буду внимательнее.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-20041
SkySlider
2003-06-23 18:27
2003.07.07
Печать листа Exel из Delphi?


7-20329
login13
2003-04-25 15:45
2003.07.07
Работа с разрешением монитора


1-20066
Stocker
2003-06-24 06:39
2003.07.07
Динамическое меню


8-20174
Ruf
2003-03-22 13:11
2003.07.07
MediaPlayer


3-19969
Vladimir S Hudyakov
2003-06-10 15:23
2003.07.07
Инсталляция BDE




   Наверх