![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Координаты кнопок на Toolbar [D5, Win95/98, WinXP]
NewN © (2003-05-06 12:54:00)Добрый день уважаемые мастера!
Можно ли как нибудь определить/(или как правильно посчитать) координату правой границы последней кнопки на Toolbar? (Хочу поместить свой элемент управления непосредственно после.)
NewN (2003-05-07 16:02:00) [1]>>nikkie © (07.05.03 14:59)
Большое спасибо, как я сам его пропустил, ведь смотрел, несколько раз проходил глазами по этим TB_...! В следующий раз буду внимательнее.
nikkie (2003-05-07 14:59:00) [2]TB_GETITEMRECT
NewN (2003-05-07 08:46:00) [3]VCL не используется. Как же мог опять забыть про исходники VCL!
Сильно запутанно и накручено, но вот что удалось выяснить -
TToolButton = class(TGraphicControl), с перекрытыми методами Paint, MouseDown, MouseMove, MouseUp. TToolButton из VCL сама отрисовывается в методе TToolButton.Paint, сама следит за мышкой, а координаты расчитываются в зависимости от индекса, и её положение на ToolBar скорее всего не соответствует положению реальной кнопки из Windows. Я понял, что в общем случае узнать координаты и размер кнопки на ToolBar невозможно, если конечно нет для этого недокументированных сообщений. Жаль.
Игорь Шевченко (2003-05-06 17:32:00) [4]var
LastButton : TControl;
begin
LastButton := ToolBar1.Buttons[Pred(ToolBar1.ButtonCount)];
{ Left и Top LastButton будут координатами }
end;
если VCL не используется, то поглядеть по исходникам, во что преобразуются вызовы методов Toolbar.
NewN (2003-05-06 15:45:00) [5]Да, конечно, мне чужого не надо.
Игорь Шевченко (2003-05-06 15:35:00) [6]Для своего приложения ?