powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновить пункты меню
4 сообщений из 4, страница 1 из 1
Обновить пункты меню
    #39764610
VladimirVVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот код вывода меню, меню работает
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
procedure SwitchMenu (Sender: string);
var
   fiLang,reporfile:TStringList;
   i,s,t,c: integer;
   subfiLangi,mnFilereport,subfiLangiEdit,subfiLangirepor,subfiLangiDel,subfiLangiPrint,subfiLangipdf,
      mnFile,mnfiLangi,subFileNextUser,subFileClose,mnDictionary,subDictionaryPriceList,subDictionaryDash1,
      subDictionaryDash2,subDictionaryDash3,subDictionaryDash4,subDictionaryDash5,
      subDictionaryStatusEquipment,subDictionaryCompany,subDictionaryEquipment,subDictionaryBrand,
      subDictionaryAccessories,subFilereport,mnActivities,subEvents,subDonations : TMenuItem;
   rta:TMainMenu;
   mur:TForm;
begin
  // если открыта форма * то переменная содежит имя этой формы
  if sender = 'frmAdmin' then mur:=frmAdmin else
  if sender = 'frmMasterWork' then mur:=frmMasterWork else
  if sender = 'frmServiceCen' then mur:=frmServiceCen;

//c := frmAdmin.rta.Items.Count-1;
   //for i := c downto 0 do
     //  if frmAdmin.rta.Items[i].Visible then frmAdmin.rta.Items[i].Free;

   // создаем выподающее меню
   mnFile := TMenuItem.Create (mur);
   mnFile.Caption := pupmFa;

       subFileNextUser := TMenuItem.Create (mur);
       subFileNextUser.Caption := pupmnuser;
       subFileNextUser.OnClick := @MenuClick1;

       subFileClose := TMenuItem.Create (mur);
       subFileClose.Caption := pupmex;
       subFileClose.OnClick := @MenuClick2;

   mnDictionary := TMenuItem.Create (mur);
   mnDictionary.Caption := pupmlib;

       subDictionaryPriceList := TMenuItem.Create (mur);
       subDictionaryPriceList.Caption := pupmpr;
       subDictionaryPriceList.OnClick := @MenuClick3;

       subDictionaryDash1:= TMenuItem.Create (mur);
       subDictionaryDash1.Caption := '-';
       subDictionaryDash1.Enabled:= False;

       subDictionaryStatusEquipment := TMenuItem.Create (mur);
       subDictionaryStatusEquipment.Caption := pupmst;
       subDictionaryStatusEquipment.OnClick := @MenuClick5;

       subDictionaryDash2:= TMenuItem.Create (mur);
       subDictionaryDash2.Caption := '-';
       subDictionaryDash2.Enabled:= False;

       subDictionaryCompany := TMenuItem.Create (mur);
       subDictionaryCompany.Caption := pupmco;
       subDictionaryCompany.OnClick := @MenuClick6;

       subDictionaryEquipment := TMenuItem.Create (mur);
       subDictionaryEquipment.Caption := pupmeq;
       subDictionaryEquipment.OnClick := @MenuClick7;

       subDictionaryBrand := TMenuItem.Create (mur);
       subDictionaryBrand.Caption := pupmbr;
       subDictionaryBrand.OnClick := @MenuClick8;

       subDictionaryDash3:= TMenuItem.Create (mur);
       subDictionaryDash3.Caption := '-';
       subDictionaryDash3.Enabled:= False;

       subDictionaryAccessories := TMenuItem.Create (mur);
       subDictionaryAccessories.Caption := pupmeex;
       subDictionaryAccessories.OnClick := @MenuClick9;



   mnActivities := TMenuItem.Create (mur);
   mnActivities.Caption := pupmhe;

       subEvents := TMenuItem.Create (mur);
       subEvents.Caption := pupmsi;
       subEvents.OnClick := @MenuClick10;

       subDictionaryDash4:= TMenuItem.Create (mur);
       subDictionaryDash4.Caption := '-';
       subDictionaryDash4.Enabled:= False;

       subDonations := TMenuItem.Create (mur);
       subDonations.Caption := pupmab;
       subDonations.OnClick := @MenuClick11;

 mnFilereport := TMenuItem.Create (mur);
 mnFilereport.Caption := pupmreport;

         subFilereport:= TMenuItem.Create (mur);
         subFilereport.Caption := pupmreportnew;
         subFilereport.OnClick := @clicknew;

         subDictionaryDash5:= TMenuItem.Create (mur);
         subDictionaryDash5.Caption := '-';

 mnfiLangi := TMenuItem.Create (mur);
 mnfiLangi.Caption := pupmlang;

   // выводим выподающее меню
   rta:=TMainMenu.Create(mur);
   rta.Items.Add(mnFile);
       mnFile.Add(subFileNextUser);
       mnFile.Add(subFileClose);

   rta.Items.Add(mnDictionary);
        mnDictionary.Add(subDictionaryPriceList);
        mnDictionary.Add(subDictionaryDash1);
        mnDictionary.Add(subDictionaryStatusEquipment);
        mnDictionary.Add(subDictionaryDash2);
        mnDictionary.Add(subDictionaryCompany);
        mnDictionary.Add(subDictionaryEquipment);
        mnDictionary.Add(subDictionaryBrand);
        mnDictionary.Add(subDictionaryDash3);
        mnDictionary.Add(subDictionaryAccessories);
 // выводим в выподающем меню список файлов мультиязычности
 rta.Items.Add(mnfiLangi);

 fiLang := TStringList.Create;
 fiLang.Text := GetFilesList('languages','*.ini',False);
 s := fiLang.Count-1;
for i:=0  to s  do
 begin
  subfiLangi:= TMenuItem.Create (mur);
  subfiLangi.Caption := ExtractFileName(fiLang[i]);
  Delete(subfiLangi.Caption, Length(subfiLangi.Caption) -3 , 4);
  subfiLangi.Hint := (fiLang[i]);
  mnfiLangi.Add(subfiLangi);
  subfiLangi.OnClick := @clicklang;
  end;

 // выводим в выподющем меню список фалов отчетов
rta.Items.Add(mnFilereport);
   mnFilereport.Add(subFilereport);
   mnFilereport.Add(subDictionaryDash5);
reporfile := TStringList.Create;
    reporfile.Text := GetFilesList( 'Report\','*.fr3',True); //ExtractFilePath(Application.ExeName) +

     t := reporfile.Count-1;
     for i:=0  to t  do
     begin
         subfiLangirepor:= TMenuItem.Create (mur);
         subfiLangirepor.Caption := ExtractFileName(reporfile[i]);
         subfiLangirepor.Hint := (reporfile[i]);
         mnFilereport.Add(subfiLangirepor);

         Delete(subfiLangirepor.Caption, Length(subfiLangirepor.Caption) -3 , 4);

         subfiLangiEdit := TMenuItem.Create(mur);
         subfiLangiEdit.Caption := pupmreportedit;
         subfiLangiEdit.Hint := (reporfile[i]);
         subfiLangiDel := TMenuItem.Create(mur);
         subfiLangiDel.Caption := pupmreportdel;
         subfiLangiDel.Hint := (reporfile[i]);
         subfiLangipdf := TMenuItem.Create(mur);
         subfiLangipdf.Caption := 'PDF';
         //subfiLangipdf.Hint := (fiLang[i]);
         subfiLangiPrint := TMenuItem.Create(mur);
         subfiLangiPrint.Caption := pupmreportprint;
         subfiLangiPrint.Hint := (reporfile[i]);

         subfiLangiEdit.OnClick := @clickEdit;
         subfiLangiDel.OnClick := @clickDel;
         subfiLangiPrint.OnClick := @clickPrint;
         subfiLangipdf.OnClick := @clickpdf;
    
         subfiLangirepor.Add(subfiLangiEdit);
         subfiLangirepor.Add(subfiLangiDel);
         subfiLangirepor.Add(subfiLangipdf);
         subfiLangirepor.Add(subfiLangiPrint);
     end;

   rta.Items.Add(mnActivities);
        mnActivities.Add(subEvents);
        mnActivities.Add(subDictionaryDash4);
        mnActivities.Add(subDonations);
end;


но есть одно но при смене языка нужно обновить меню или (перерисовать) или как там еще
и вот этого я не могу понять как сделать
помогите, кто может!
...
Рейтинг: 0 / 0
Обновить пункты меню
    #39764619
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выливаешь воду из чайника Удаляешь все пункты меню и "задача сводится к уже решённой".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обновить пункты меню
    #39764643
VladimirVVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovВыливаешь воду из чайника Удаляешь все пункты меню и "задача сводится к уже решённой".


спасибо, дошло )))
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
// если открыта форма * то переменная содежит имя этой формы
  if sender = 'frmAdmin' then mur:=frmAdmin else
  if sender = 'frmMasterWork' then mur:=frmMasterWork else
  if sender = 'frmServiceCen' then mur:=frmServiceCen;

  rta.Free;

   // создаем выподающее меню
   mnFile := TMenuItem.Create (mur);
   mnFile.Caption := pupmFa;
...
Рейтинг: 0 / 0
Обновить пункты меню
    #39765173
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirVVP
Код: pascal
1.
2.
3.
4.
  // если открыта форма * то переменная содежит имя этой формы
  if sender = 'frmAdmin' then mur:=frmAdmin else
  if sender = 'frmMasterWork' then mur:=frmMasterWork else
  if sender = 'frmServiceCen' then mur:=frmServiceCen;


Эпик вин!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновить пункты меню
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]