Главная страница
    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.46 MB
Время: 0.041 c
2-1168967984
SerjVasiljev
2007-01-16 20:19
2007.02.04
Получение имён файлов


11-1147493813
igorek_2005
2006-05-13 08:16
2007.02.04
Преобразование типов(время в строку) в KOL_MCK


15-1168654314
Константинов
2007-01-13 05:11
2007.02.04
Какой будет жизнь лет этак через двадцать?


15-1168941024
SkySpeed
2007-01-16 12:50
2007.02.04
Проблема или с сетевой картой или с ПО...


2-1168800281
azl
2007-01-14 21:44
2007.02.04
Мигание иконки в Строке заголовка формы





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