Главная страница
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.031 c
15-1193766687
@!!ex
2007-10-30 20:51
2007.12.02
где почитать про дебагинг под Delphi


9-1148010518
Инфо
2006-05-19 07:48
2007.12.02
LODka3D - редактор низкополигонных моделей


2-1194502707
Slim
2007-11-08 09:18
2007.12.02
Функции работы со строковыми типами в Delphi


15-1193418318
Cerberus
2007-10-26 21:05
2007.12.02
Где могут заменить дисплей на плеере.


15-1193726252
boriskb
2007-10-30 09:37
2007.12.02
Научитесь программировать за десять лет