Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Координаты кнопок на 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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо