Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.75.14] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте!
XE8. Если верхний пункт меню создан в дизайнтайм, то при добавлении итемов в рантайм - заголовки выравниваются правильно с учетом картинок (вариант 1). Если верхний пункт меню и итемы созданы в рантайм, то заголовки выравниваются НЕ правильно (вариант 2). Код: procedure TForm1.Button1Click(Sender: TObject); const a: array[0..5] of Integer = (-1, 1, -1, -1, 2, -1); var i: Integer; RootItem, ChildItem: TMenuItem; begin RootItem:= Form1.Menu.Items[0]; // вариант 1 for i:= Low(a) to High(a) do begin ChildItem:= TMenuItem.Create(RootItem); RootItem.Add(ChildItem); ChildItem.Caption:= Format('Item %d', [i]); ChildItem.ImageIndex:= a[i]; end; RootItem:= TMenuItem.Create(Form1.Menu); // вариант 2 Form1.Menu.Items.Add(RootItem); RootItem.Caption:= Format('Menu %d', [0]); RootItem.ImageIndex:= a[0]; for i:= Low(a) to High(a) do begin ChildItem:= TMenuItem.Create(RootItem); ChildItem.Name:= Format('miItem%d', [i]); RootItem.Add(ChildItem); ChildItem.Caption:= Format('Item %d', [i]); ChildItem.ImageIndex:= a[i]; end; end; Прикреплённый файлmenu_trouble.png (12,89 Кбайт, скачиваний: 303) Как это можно поправить? Спасибо. |
Сообщ.
#2
,
|
|
|
//RootItem:= TMenuItem.Create(Form1.Menu); // вариант 2 RootItem:= TMenuItem.Create(Self); // Указывать надо владельца, а владельцем является не меню, а форма!!! |
Сообщ.
#3
,
|
|
|
To Rouse_
Да, точно! Спасибо. |