Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Как динамически создать Separator в MainMenu?   Найти похожие ветки 

 
Kolan ©   (2007-07-11 22:11) [0]

Здравствуйте,
 Оказывается если указать Caption "-", то в ран тайме ничего не создасться вообще.


 
Johnmen ©   (2007-07-11 22:31) [1]

Да ты гонишь... :)))


 
Kolan ©   (2007-07-11 22:37) [2]

> Да ты гонишь&#133 :)))

Б. буду :)

Так:
 "asdasd-" — Вижу пункт меню: «asdasd-»

Так:
"-" — вообще ничего :(

Добаляю так:

function TMenuInsertColleague.AddMenuItem(MainMenu: TMainMenu;
 MenuData: TMenuItemData): Boolean;
var
 I: Integer;
 TempMenuItem: TMenuItem;
begin
 Result := False;
 if Assigned(MenuData) and Assigned(MainMenu) then
 begin
   for I := 0 to MainMenu.Items.Count — 1 do
   begin
     if MainMenu.Items[I].Caption = MenuData.Section then
     begin
       TempMenuItem := TMenuItem.Create(MainMenu);
       TempMenuItem.Caption := MenuData.Caption;
       TempMenuItem.ImageIndex := MenuData.ImageIndex;
       TempMenuItem.Tag := Integer(MenuData.CommandClass);
       TempMenuItem.OnClick := MenuClickEvent;
       MainMenu.Items[I].Add(TempMenuItem);
       Result := True;
       Exit;
     end;
   end;
   TempMenuItem := TMenuItem.Create(MainMenu);
   TempMenuItem.Caption := MenuData.Section;
   MainMenu.Items.Add(TempMenuItem);
   
   Result := AddMenuItem(MainMenu, MenuData);
 end;
end;


 
Johnmen ©   (2007-07-11 22:46) [3]

Ну здесь криминала я не вижу. Как и добавления "-".
Упрости код. Для отладки...


 
Kolan ©   (2007-07-11 22:54) [4]

> Упрости код.

Ладно, шас сделаю тест проект.


 
Kolan ©   (2007-07-11 22:58) [5]

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 TempMenuItem: TMenuItem;
begin
 TempMenuItem := TMenuItem.Create(MainMenu1);
 //TempMenuItem.Caption := "Да ты гонишь&#133 :)))";
 TempMenuItem.Caption := "-";
 MainMenu1.Items[0].Add(TempMenuItem);
end;


Тоже самое — сделал новый проект.


 
{RASkov} ©   (2007-07-12 00:38) [6]

> [5] Kolan ©   (11.07.07 22:58)

Попробуй вот так:
var
TempMenuItem, TempMenuItem1: TMenuItem;
begin
 TempMenuItem := TMenuItem.Create(MainMenu1);
 TempMenuItem.Caption := "-";
 MainMenu1.Items[0].Add(TempMenuItem);
 TempMenuItem1 := TMenuItem.Create(MainMenu1);
 TempMenuItem1.Caption := "Все таки это ты гонишь… :)))";
 MainMenu1.Items[0].Add(TempMenuItem1);
end;

:)


 
{RASkov} ©   (2007-07-12 00:45) [7]

> [6] {RASkov} ©   (12.07.07 00:38)

Т.е немножко и я гоню :) Если MainMenu1.Items[0] изначально ничего не содержит..
нужно три элемента в примере [6] т.е. перед черточкой еще один элемент добавить...
Но даже и так - выполни тот код [6](например по нажатию бутона) 2 или более раз :)


 
Kolan ©   (2007-07-12 08:29) [8]

[6] — не работает, а вот так:
var
TempMenuItem0, TempMenuItem, TempMenuItem1: TMenuItem;
begin
TempMenuItem0 := TMenuItem.Create(MainMenu1);
TempMenuItem0.Caption := "Гоню";
MainMenu1.Items[0].Add(TempMenuItem0);

TempMenuItem := TMenuItem.Create(MainMenu1);
TempMenuItem.Caption := "-";
MainMenu1.Items[0].Add(TempMenuItem);

TempMenuItem1 := TMenuItem.Create(MainMenu1);
TempMenuItem1.Caption := "Все таки это ты гонишь… :)))";
MainMenu1.Items[0].Add(TempMenuItem1);
end;


Появляется. То есть он(сепаратор) появитя только при окружении пунктами. Странно тк в дизан тайме это не так&#133


 
{RASkov} ©   (2007-07-12 08:45) [9]

> [8] Kolan ©   (12.07.07 08:29)
> Странно тк в дизан тайме это не так…

И это правильно :) В дизайне ты должен видеть все, а в работающем меню никчему видеть "никчемную" "-" :)
И [6] - работает. Так, что не гони :) В [7] пояснение...)


 
Kolan ©   (2007-07-12 08:49) [10]

Короче все вы гоните, благодарю за помощь и разъяснения, я погнал дальше работать.
:)



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.036 c
6-1167919439
pest_tt
2007-01-04 17:03
2007.08.12
Отправка и прием файлов через NMSTRM


15-1184592922
Sdubaruhnul
2007-07-16 17:35
2007.08.12
Война браузеров доходит до идиотизма


15-1184496499
Pgremse
2007-07-15 14:48
2007.08.12
Проблемы с запуском Turbo Delphi


2-1184257976
Ivolg
2007-07-12 20:32
2007.08.12
Вопрос про MainMenu


2-1184581112
mmms
2007-07-16 14:18
2007.08.12
Подскажите, как связать свой тип файлов к своей программе?