Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизСоздание програмно пунктов основного меню Найти похожие ветки
← →
Alex_06 (2007-01-16 10:03) [0]Уважаемые Мастера! Помогите решить проблемку. Есть форма с основным меню. Требуется, вычитывая из Ini-файла, добавлять в меню пункты или подменю, естественно обрабатывая выбор соответствующего пункта, причём добавлять надо не только в конец, а в любой пункт основного меню (создавая подменю). Спасибо.
← →
ЮЮ © (2007-01-16 10:10) [1]
> Помогите решить проблемку.... Спасибо.
Пожалуйста. Но сначало твое решение и твои проблемки.
← →
novill © (2007-01-16 10:40) [2]Что у тебя не получается?
Читать данные из ини-файла?
Создавать пункты меню?
Пиши: что делал, какие ошибки появлялись...
)
← →
Alex_06 (2007-01-16 11:17) [3]Читать из Ini-файла нет проблем. Пытался делать так:
procedure TForm1.Button1Click(Sender: TObject);
var
Menu: TMenuItem;
begin
Menu:=TMenuItem.Create(Self);
Menu.Caption:="Форма";
MainMenu1.Items.Insert(MainMenu1.Items.IndexOf(MainMenu1.Items.Find("Считать")), Menu); //появляется пункт "Форма" перед "Считать" (*1)
MainMenu1.Items[1].Add(Menu); //появляется подпункт "Форма" в меню "Считать"
end;
Но вот как добавлять новые пункты к подменю не соображу. Если в меню есть пункт "Файл", а в нем подпункт "Отправить", куда я програмным путем хочу добавить, например: подпункт "На принтер", подпункт "На рабочий стол", то выражение типа (*1) почему-то не находит "Отправить" (если подставить вместо "Считать"). И как потом определить, что именно данный пункт меню (или подменю) был выбран? Т.е. я хочу иметь возможность добавлять в любой существующий пункт меню подпункты из Ini-файла и действия, которые должны выполняться при соответствующем выборе из того же Ini-файла. Наподобии того, как происходит настройка панели инструментов в Total Commander/
← →
Elen © (2007-01-16 11:34) [4]
> Но вот как добавлять новые пункты к подменю не соображу.
Позволь дать наводку :
Попробуй этот код, может сообразиш чего
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure q(sender:Tobject);
private
{ Private declarations }
public
{ Public declarations }
end;
var mb,an,it:TMenuItem;
Form1: TForm1;
implementation
{$R *.dfm}
//********* PROCEDURE**********
procedure TForm1.q;
//const
//Var
begin
end;
//********* END PROCEDURE*******
procedure TForm1.Button1Click(Sender: TObject);
var z,x,c:integer;
begin
for z:=0 to 2 do begin
it:=TMenuItem.Create(MainMenu1);
it.Caption:=timetostr(time);
it.OnClick:=q;
MainMenu1.Items.Add(it);
for x:=0 to 4 do begin
an:=TMenuItem.Create(it);
an.Caption:=timetostr(time)+"1";
an.OnClick:=q;
it.Add(an);
for c:=0 to 10 do begin
mb:=TMenuItem.Create(it);
mb.Caption:=timetostr(time)+"1";
mb.OnClick:=q;
an.Add(mb);
end;
end;
end;
end;
end.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.054 c