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

Вниз

Как вставить сепаратор в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
2-1194411373
fff
2007-11-07 07:56
2007.12.02
курсор


2-1194434383
dumka
2007-11-07 14:19
2007.12.02
Поиск


2-1194522455
apic
2007-11-08 14:47
2007.12.02
Подключение USB


15-1193238690
Рекрутер
2007-10-24 19:11
2007.12.02
Программист-пенсионер - кто он?


2-1194007806
MZ_Organize
2007-11-02 15:50
2007.12.02
раскалдка с англ. на рус. и с рус. на анлг