Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Второе меню в окне..


Автор: Dmitry_177 29.11.2006, 09:52
Нужно сделать второе меню в окне, т.е. так: вверху окна полоска 1-го меню, потом кнопки быстрого запуска, потом еще одна полоска меню... Как так сделать?

Автор: bems 29.11.2006, 12:59
талбар настрой чтобы было похоже на меню

Автор: Dmitry_177 29.11.2006, 16:18
Мне на WinAPI нужно... и желательно без тулбаров.. Я думаю можно ли какнибудь сделать так: В главном окне создать еще одно окно которое будет содержать второе меню...

Автор: Snowy 29.11.2006, 16:26
В главное меню добавь пункт с флагом MF_MENUBREAK.
С этим флагом все последующие пункты пойдут на вторую строку.

Добавлено @ 16:33 
Цитата(Dmitry_177 @  29.11.2006,  16:18 Найти цитируемый пост)
В главном окне создать еще одно окно которое будет содержать второе меню...
Главное меню всё равно будет только одно smile

Автор: Dmitry_177 29.11.2006, 16:35
Цитата(Snowy @  29.11.2006,  16:26 Найти цитируемый пост)
В главное меню добавь пункт с флагом MF_MENUBREAK.
С этим флагом все последующие пункты пойдут на вторую строку.


Так не пойдет... Мне это нужно вот для чего: есть окно, в нем вверху стандартное меню, потом ниже будут кнопки, типа там "открыть", "сохранить", "вырезать", "вставить" и др... А потом будет еще одно меню, но оно будет мною перерисовано, пункты меню будут выполнены в виде кнопок, т.е. будет полоска еще одних кнопок, по нажатию на которые будет раскрываться меню, но так что если нажали на одну кнопку, раскрылось меню, и потом если перенесли курсор на другую кнопку, то чтобы меню раскрылось автоматически на другой кнопке, т.е. как собственно и работает меню...

Автор: Snowy 29.11.2006, 16:50
Тогда проще сделать тулбар, у которого будут выпадать попуп-менюшки.

Автор: bems 30.11.2006, 10:16
Цитата(Snowy @  29.11.2006,  16:26 Найти цитируемый пост)
Главное меню всё равно будет только одно  

это только если  MDI.



Dmitry_177, берем пример из топика про свою отрисовку меню и тело програмы меняем на это
Код

var msg:TMSG;w1,w2:HWND;
begin
w1:=CreateWnd;
w2:=CreateWnd;
SetParent(w1,w2);
ShowWindow(w1,SW_MAXIMIZE);
SetWindowLong(w1,GWL_STYLE,GetWindowLong(w1,GWL_STYLE) xor (WS_POPUPWINDOW or WS_CHILD));
while GetMessage(msg,0,0,0) do
 begin
 TranslateMessage(msg);
 DispatchMessage(msg);
 end;
end.

все остальное оставляем как было. Это не в точности так как надо, но уже можно с чего-то начинать. 

Автор: naxellar 11.1.2007, 09:16
Компонент ActionMainMenuBar на вкаладке Additional совместно с ActionManager делает хоть 100 меню в любом месте формы(Правда стиль у них как у Delphi7). Не поймешь как пиши, объясню.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)