Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизДинамически создаваемое меню. Найти похожие ветки
← →
Fenix © (2006-03-11 22:52) [0]Добого времени суток.
У меня пару вопросов по созданию динамического меню.
Во 1 когда я создаю меню 2 уровня т.е. File ->, то все норм, но когда я пытаюсь создать меню 3 уровня например File -> Add ->, то выскакивает ошибка.... почуму это может быть?
И 2 вопрос:
Мне нужно к каждой нажатой кнопке прописать обработчик нажатия на эту кнопку. У меня он однообразен:
procedure TForm1.N12Click(Sender: TObject);
begin
LoadForm(n12.caption);
end;
Но это для статического меню.... как сделать так что бы каждому новому пункту был присвоен этот обработчик?
← →
Handle (2006-03-11 23:22) [1]
> File -> Add ->, то выскакивает ошибка.... почуму это может
> быть?
Где код то?
> Но это для статического меню.... как сделать так что бы
> каждому новому пункту был присвоен этот обработчик?type
TForm1 = class(TForm)
Button1: TButton;
MainMenu1: TMainMenu;
procedure popClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s: string;
NewItem: TMenuItem;
implementation
{$R *.dfm}
procedure TForm1.popClick(Sender: TObject);
begin
s := (Sender as TMenuItem).Caption;
LoadForm(s);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
NewItem := TMenuItem.Create(MainMenu1);
NewItem.Caption := "NewItem";
NewItem.OnClick := PopClick;
MainMenu1.Items.Insert(0,NewItem);
end;
← →
[lamer]barmaglo (2006-03-11 23:30) [2]До чего же ленивые юзеры пошли...
FAQ: http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988625051&n=19
← →
Fenix © (2006-03-12 12:14) [3]s := (Sender as Tmenuitem).Caption;
В переменной S заноситься еще один ненужный символ &. Как его избежать?
← →
Handle (2006-03-12 12:28) [4]Object Inspector\AutoHotkeys\maManual
илиMainMenu1.AutoHotkeys:= maManual;
← →
Fenix © (2006-03-12 12:34) [5]
> Handle (12.03.06 12:28) [4]
> Object Inspector\AutoHotkeys\maManual
> или MainMenu1.AutoHotkeys:= maManual;
не помогает.....
Это символ типа быстрого выбора по символу...
← →
Handle (2006-03-12 12:58) [6]
> не помогает.....
Почему не помагает то, у меня в переменную s заноситься (Sender as Tmenuitem).Caption без символа & ;
> Это символ типа быстрого выбора по символу...
Это символ который ставиться перед буквой, которая используется для создания Hotkeys(горячие клавиши), совместно с другими клавишами , например Ctrl + буква перед которой стоит & , нажми Ctrl + Alt + Delete поймёшь что такое Hotkeys.
← →
Fenix © (2006-03-12 13:23) [7]
> Почему не помагает то, у меня в переменную s заноситься
> (Sender as Tmenuitem).Caption без символа & ;
А у меня заноситься с ним....
for i:=0 to memo2.Lines.Count-1 do begin
TagMenu[i]:=TMenuItem.Create(Mainmenu1);
TagMenu[i].AutoHotkeys:=maManual;
TagMenu[i].OnClick := PopClick;
TagMenu[i].Caption:=memo2.Lines[i];
n12.Add(TagMenu[i]);
end;
это как я создаю пункты меню (в зависимости от количества строк в Memo2)
← →
Handle (2006-03-12 13:35) [8]
MainMenu1.AutoHotkeys:= maManual;
for i:=0 to memo2.Lines.Count-1 do begin
TagMenu[i]:=TMenuItem.Create(Mainmenu1);
MainMenu1.AutoHotkeys:= maManual;
TagMenu[i].OnClick := PopClick;
TagMenu[i].Caption:=memo2.Lines[i];
n12.Add(TagMenu[i]);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
MainMenu1.AutoHotkeys:= maManual;
end;
← →
Fenix © (2006-03-12 13:49) [9]
> Handle
Спс теперь все работает.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c