Хобрук: Ваш путь к мастерству в программировании

TW7ToolButton - добавить выпадающее меню

Согласно TMS, W7ToolButton1 можно использовать для отображения раскрывающегося меню. Но я не понимаю, как вы можете это сделать, поскольку у него нет свойства раскрывающегося меню. Единственное меню, которое я могу добавить, это всплывающее меню, которое не то же самое, что раскрывающееся. Кто-то знает, как добавить раскрывающееся меню к кнопке ??? Я могу добавить к кнопке стрелку раскрывающегося списка, но это загадка, как сделать так, чтобы всплывающее меню отображалось при нажатии этой стрелки (при условии, что она работает таким образом) ...

15.01.2014

Ответы:


1

TW7ToolButton, похоже, не имеет события для нажатия на стрелку разделенной кнопки, поэтому это может быть лучшее, что вы можете сделать с текущей версией компонента:

procedure TForm1.W7ToolButton1Click(Sender: TObject);
var
  iPoint: TPoint;
begin
  iPoint := ClientToScreen(Point(W7ToolButton1.Left, W7ToolButton1.Top + W7ToolButton1.Height));
  PopupMenu1.Popup(iPoint.X, iPoint.Y);
end;

Меню появится под кнопкой, как раскрывающееся меню.

15.01.2014
  • Да, я полагаю, это единственный способ сделать это. Спасибо! 16.01.2014

  • 2

    Я не знаком с TMS, однако с обычной кнопкой / кнопкой скорости вы можете использовать что-то вроде:

    PopupMenu1.Popup (Form1.Left + SpeedButton1.Left + SpeedButton1.Height, Form1.Top + SpeedButton1.Top + SpeedButton1.Width);
    
    15.01.2014
  • почему бы не использовать TWinControl.ClientToScreen? 15.01.2014
  • Для TButton есть значение bsSplitButton для свойства Style и свойства DropDownMenu в Delphi XE4, поэтому ничего из этого не требуется. То же самое, возможно, применимо даже к Delphi 2009 в this Q&A. Но все же TMS может сделать это по-другому ... 15.01.2014
  • Есть и другие компоненты, которые я могу использовать (Raize - RzMenuToolbarButton1), но меня интересует компонент TMS. 15.01.2014
  • Новые материалы

    Дрейф концепций в ИИ
    Что такое концептуальный дрейф? Дрейф понятий — это явление в искусственном интеллекте и машинном обучении, при котором основное распределение данных меняется со временем. Это изменение в..

    Изучите Vue перед React. Вот почему
    Сегодняшняя сеть представляет собой запутанный беспорядок из разных языков, библиотек и фреймворков, и начинающие веб-разработчики часто не могут понять, что изучать в первую очередь. Что вы..

    Гл.31 — Помощь слабослышащим с помощью возможностей машинного обучения Apple Watch.
    1 500 000 000  – количество людей с потерей слуха в мире. Это почти 20% населения Земли! (источник: who.int ) Недавно я экспериментировал с Apple Sound Classification API, и результаты на..

    Машинное обучение без кода / Глубокое обучение Каждый специалист по обработке и анализу данных должен знать
    Akkio, Очевидно.ай, DataRobot, Левити, Clarifai, Teachable Machines, Lobe, Pimer, DynaBench, APAflow Teachable Machine- https://teachablemachine.withgoogle.com/ Vertex AI..

    Код, который работает вместе, остается вместе
    Первоначально это было опубликовано в tiagojdf . Когда я только начинал как младший программист, я всегда терялся, глядя на внутренний код. Я предположил, что отчасти это было из-за того,..

    Эта модель Google сочетает в себе рассуждение и действие в рамках одной языковой модели.
    ReAct предоставляет архитектуру, которая инициирует действия на основе путей рассуждений языка. Недавно я запустил образовательный информационный бюллетень, посвященный ИИ, у которого уже..

    Сортировка структур JSON по нескольким полям в JavaScript
    Array.sort() не для слабонервных. Особенно, когда речь идет о сортировке сложных структур данных. Большинство руководств по JavaScript дают только краткое введение в Array.sort() . Обычно..