Создание пунктов меню во время выполнения программыDelphi , Компоненты и Классы , МенюСоздание пунктов меню во время выполнения программы
Оформил: DeeCo { When you click on button1 the number of installed fonts are displayed in the menu by creating the menuitems dynamically Zur Laufzeit wird die Anzahl der installierten Schriften ausgelesen und entsprechend viele Menupunkte erzeugt } type TForm1 = class(TForm) Button1: TButton; label1: TLabel; MainMenu1: TMainMenu; Fonts1: TMenuItem; procedure Fonts1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Fonts1Click(Sender: TObject); begin if Sender Fonts1 then label1.Caption := (Sender as TMenuItem).Caption; end; procedure TForm1.FormCreate(Sender: TObject); var NewItem: TMenuItem; i: Integer; begin for i := 0 to Screen.Fonts.Count - 1 do begin // Create a new Menu Item // Neuen Menupunkt erzeugen NewItem := TMenuItem.Create(Self); // Take the Font name as Caption // Den Schriftnamen als Caption festlegen NewItem.Caption := Screen.Fonts.Strings[i]; // Assign a OnClick-Event // Ein OnClick-Ereignis zuweisen NewItem.OnClick := Fonts1Click; // Add the new menu // Den neuen Menupunkt hinzufugen Fonts1.Add(NewItem); end; end; Это пример программирования на языке Delphi, демонстрирующий создание динамических пунктов меню в компоненте TMainMenu в реальном времени. Цель - отобразить количество установленных шрифтов на системе и добавить соответствующие пункты меню к основному меню. Разбивка кода:
Процедура Обратите внимание, что этот код предполагает, что вы уже добавили компоненты TButton (назначенный как В целом, этот код демонстрирует, как создавать динамические пункты меню в реальном времени с помощью встроенных компонентов Delphi и механизмов обработки событий. В статье описывается способ создания пунктов меню в программе Delphi динамически, используя список установленных шрифтов и создавая новые элементы меню на лету. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |