|
#1
|
|||
|
|||
динамическое меню
Всем привет! Нужна помощь в следующем, создаю динамически меню из текстового файла (с этим проблем нет), нужно разбить в каждое подменю на два столбца(или более), то есть чтобы получилось два столбца по 10-ть вопросов. У меню есть свойство Break (это я знаю), но как прописать так чтобы можно было управлять количеством создаваемых столбцов пока никак не пойму, может кто поможет решить данную проблему.
|
#2
|
||||
|
||||
Цитата:
Код:
procedure TForm1.FormCreate(Sender: TObject); var i: integer; begin CreateMenu; with PopupMenu1 do for i:= 0 to Items.Count-1 do Items[i].Items[10].Break:= mbBreak; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Спасибо за ответ, но как заставить программу автоматом разбивать меню на равное количество итемов в меню, то есть если в одном 20 а в другом 60 то в первом случае меню разобьется на две колонки по десять (если указать 10), то во втором случае меню разобьется на две колонки по 10 и 50, а если в меню всего 5 итемов то при компиляции вылетает ошибка указывающая на то, что 10-го итема нет. Так вот как сделать так чтобы можно было управлять количеством разбивки на столбцы, то есть если я указываю 10, то если в меню 20 итемов то разбивается на два столбца по 10, если 60 то 6 столбцов по 10 и так далее, но при этом если меньше 10 итемов то такое меню пропускалось. Всю голову уже сломал, помогите если можете.
|
#4
|
||||
|
||||
Обычно для этого используют оператор mod:
Код:
if Count mod 10 = 0 then ... Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
Цитата:
Код:
... with PopupMenu1 do for i := 0 to Items.Count-1 do for b := 0 to Items[i].Count-1 do if b mod 10 = 0 then Items[i].Items[b].Break:= mbBreak; ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
HMR (18.12.2015)
|
#6
|
|||
|
|||
Огромное спасибо за помощь!
|