Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.046 c
15-1168718021
Руслан
2007-01-13 22:53
2007.02.04
NMIndexStoreSvr.exe


2-1168203924
Альберт
2007-01-08 00:05
2007.02.04
проблема с dll и hook


1-1165865929
Ihtiandr
2006-12-11 22:38
2007.02.04
Изменить расскладку клавиатуры


2-1169016602
gio_zh
2007-01-17 09:50
2007.02.04
set


6-1156423548
BFG9k
2006-08-24 16:45
2007.02.04
idHTTPServer - документ по умолчанию





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский