Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизКак вставить сепаратор в mainmenu? Найти похожие ветки
← →
DontFire (2007-11-09 14:10) [0]Привет всем!
Как вставить сепаратор(линию) в mainmenu формы (не системное), например, в её первое подменю?
API функциями пытался сделать-не получается, если можно, покажите рабочий пример.
Спасибо.
← →
Palladin © (2007-11-09 14:12) [1]AppendMenu(<Handle>,MF_SEPARATOR,0,"");
← →
Palladin © (2007-11-09 14:13) [2]если не API функциями то просто "-" в Caption пишешь и все
← →
DontFire (2007-11-09 14:56) [3]Большое спасибо, "-" удобный вариант.
Выснил, что AppendMenu не срабатывал из OnCreate формы и из dpr-файла перед Application.Run (причём сама функция не возвращала ошибку). Заработал в onClick кнопки. Куда ж вывоз тогда поместить чтобы он выполнился 1 раз при запуске программы?
← →
Palladin © (2007-11-09 14:58) [4]а с чего ты взял что он не срабатывал на OnCreate формы? скорее всего ты handle не тот указываешь
← →
Сергей М. © (2007-11-09 15:04) [5]
> Куда ж вывоз тогда поместить чтобы он выполнился 1 раз при
> запуске программы?
const
WM_APPEND_MENU_SEPARATOR = WM_USER + 100;
type
TMyForm = class(TForm)
..
private
..
procedure MsgAddMnuSeparator(var Message: TMessage); message WM_APPEND_MENU_SEPARATOR;
..
end;
..
procedure TMyForm.MsgAddMnuSeparator;
begin
.. здесь и добавляй разделитель ..
end;
В обработчике OnCreate:
PostMessage(Handle, WM_APPEND_MENU_SEPARATOR, 0, 0);
← →
DontFire (2007-11-09 15:19) [6]>>а с чего ты взял что он не срабатывал на OnCreate формы? скорее всего ты handle не тот указываешь.
Один и тот же код: в OnCreate(Form1) не работает; в onClick(Button1) - работает.
const SC_MyMenuItem = WM_USER + 1;
...
AppendMenu(n1.handle, MF_SEPARATOR, 0, "");
AppendMenu(n1.handle, MF_STRING,SC_MyMenuItem, "Новый пункт в меню");
n1:Tmenuitem [первое сабменю в мейнменю]
← →
Leonid Troyanovsky © (2007-11-09 17:04) [7]
> DontFire (09.11.07 15:19) [6]
> Один и тот же код: в OnCreate(Form1) не работает; в onClick(Button1)
> - работает.
А как у нас, скажем, OldCreateOrder?
> n1:Tmenuitem [первое сабменю в мейнменю]
За это ли, старик Яков, ты проливал кровь в сырых казематах,
чтобы пункты в главное меню вставляли через API?
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c