Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизКак динамически создать Separator в MainMenu? Найти похожие ветки
← →
Kolan © (2007-07-11 22:11) [0]Здравствуйте,
Оказывается если указатьCaption "-"
, то в ран тайме ничего не создасться вообще.
← →
Johnmen © (2007-07-11 22:31) [1]Да ты гонишь... :)))
← →
Kolan © (2007-07-11 22:37) [2]> Да ты гонишь… :)))
Б. буду :)
Так:
"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 := "Да ты гонишь… :)))";
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;
Появляется. То есть он(сепаратор) появитя только при окружении пунктами. Странно тк в дизан тайме это не так…
← →
{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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c