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

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

Как проеделить координаты для DropDownMenu у ToolButton?


Kolan ©   (2007-11-03 15:50:00) 

Здравствуйте,
 Нужно показать DropDownMenu, как вычислить координаты.

ЗЫ
 И как это сделано в VCL я не нашел код, который это делает…


Kolan   (2007-11-04 16:09:00) [1]

Ок, завтра проверю. О результатах доложу.


Lacmus   (2007-11-04 15:58:00) [2]


 with ToolButton5, ClientToScreen(Point(0, Height)) do
   DropdownMenu.Popup(X, Y);


Leonid Troyanovsky   (2007-11-04 11:06:00) [3]


> Kolan ©   (04.11.07 10:58) [12]

> этот фрейм ниче не знает о том что с ним станет в ран тайме…

GetParentForm ?

> Да ладно вариант Point.X — 184 работает нормально…

Гы.

--
Regards, LVT.


Kolan   (2007-11-04 10:58:00) [4]

> Point := Self.ClientToScreen(Point); // т.е., в координатах
> формы

Тут один затык… ТуБар лежит на фрейие, а фрейм в пакете. И на форму он попадает при загрузки приложения. Ессно сам этот фрейм ниче не знает о том что с ним станет в ран тайме…

Да ладно вариант Point.X — 184 работает нормально…


Leonid Troyanovsky   (2007-11-04 10:30:00) [5]


> Kolan ©   (03.11.07 20:23) [7]

>   Point := SaveToolButton.ClientToScreen(Point);

Point := Self.ClientToScreen(Point); // т.е., в координатах формы

--
Regards, LVT.


korneley   (2007-11-04 09:36:00) [6]

свойство Styleу ToolButtonвыставь в tbsDropDownкак в [1], или в инспекторе объектов. Оно само и заработает.


Kolan   (2007-11-04 07:35:00) [7]

> Вот и присвой этому свойству свое попапменю.

Уже присвоено, только DropDownMenu… Как его показать под кнопкой? Не вычисля координат…


Reindeer Moss Eater   (2007-11-03 21:40:00) [8]

Вот и присвой этому свойству свое попапменю.


Kolan   (2007-11-03 20:23:00) [9]

ToolButton1.PopupMenu — Это свойство типа TPopupMenu, а не метод

Что я делаю не так?

ЗЫ
Код:
Point.X := SaveToolButton.Left;
  Point.Y := SaveToolButton.Top + SaveToolButton.Height;
  Point := SaveToolButton.ClientToScreen(Point);
  SaveToolButton.DropdownMenu.Popup(Point.X, Point.Y);


сработал, толко
Point.X — 184


Reindeer Moss Eater   (2007-11-03 18:10:00) [10]

TToolButton.PopupMemu


Kolan   (2007-11-03 17:51:00) [11]

Я пытался так:
Point.X := SaveToolButton.Left;
   Point.Y := SaveToolButton.Top + SaveToolButton.Height;
   Point := SaveToolButton.ClientToScreen(Point);
   SaveToolButton.DropdownMenu.Popup(Point.X, Point.Y);


Но координаты не правильные… :(


Kolan   (2007-11-03 17:45:00) [12]

Не у кнопки уже tbsDropDown.
Я хочу сделать так:

Кнопка.ПопАпниСвоёМеню. //То есть сделайть надо так, как будто пользователь нажал на треугольничег


Kolan   (2007-11-03 17:45:00) [13]

> Кнопка.ПопАпниСвоёМеню

Но так как тагого метода нет, то я решил сделать

Кнопка.DropDownMenu.Popup(а чё сюда подставлять?)


Amoeba   (2007-11-03 17:14:00) [14]

[1], и вычислять ничего не надо.


Reindeer Moss Eater   (2007-11-03 15:58:00) [15]

TToolButton1.Style := tbsDropDown;


Наверх

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