Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1141392869
Alarm
2006-03-03 16:34
2006.03.26
Возможно это и глупо, но ...


2-1142191918
Flint-1983
2006-03-12 22:31
2006.03.26
Создание компонентов в run-time


2-1141732156
VitV
2006-03-07 14:49
2006.03.26
DBCtrlGri - существует замена?


15-1141304145
Drakosha
2006-03-02 15:55
2006.03.26
Детская (особенно на первый взгляд) задача:


2-1141894640
nap<>
2006-03-09 11:57
2006.03.26
Про формы :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский