скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Создание пунктов меню во время выполнения программы



Оформил: 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook