Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
15-1193785860
Германн
2007-10-31 02:11
2007.12.02
Directory is busy


8-1170626458
Yura1024
2007-02-05 01:00
2007.12.02
Delphi: Изменение гамма-коррекции изображения


2-1194360069
ArrotVazyPror
2007-11-06 17:41
2007.12.02
где скачать музыку


2-1194629978
IOrist
2007-11-09 20:39
2007.12.02
Как прогу убрать в фоновый режим


1-1189609395
sshaitan
2007-09-12 19:03
2007.12.02
Перевод кодов символов формата Unicode в строку




   Наверх