Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Вниз

Главное меню   Найти похожие ветки 

 
koss   (2008-01-15 12:43) [0]

Добрый день,подскажите пожалуйста каким образом можно разместить главное меню программы на ControlBar"е, чтобы его можно  было перемещать, как панели инструментов.


 
Apollon ©   (2008-01-15 13:06) [1]

А где ты такое видел?


 
Palladin ©   (2008-01-15 13:06) [2]

лучше с этим не связываться, но если очень хочется секса, то положи на форму TActionMainMenuBar, TActionManager. распиши все свои акшины и перетащи мышкой на ActionMainMenuBar1


 
Palladin ©   (2008-01-15 13:07) [3]


> [1] Apollon ©   (15.01.08 13:06)

привет из каменного века? :)


 
koss   (2008-01-15 13:10) [4]

to Apollon:
Стандартный Explorer, может я ошибаюсь не ControlBar,a ToolBar


 
Palladin ©   (2008-01-15 13:19) [5]

Band"ы таскаются по TCoolBar, именно на него ты и должен повесить TActionMainMenuBar, что бы таскать естественно, а за примером идти не далеко, в MSOffice давно уже таскается


 
koss   (2008-01-15 16:52) [6]

А как же быть? Если меня не устраивает TActionMainMenuBar, мне необходимо "повесить" TMainMenu


 
Palladin ©   (2008-01-15 16:57) [7]

искать компонент в сети или писать свой


 
koss   (2008-01-15 17:01) [8]

Возможно повесить TMainMenu на ToolBar?


 
Palladin ©   (2008-01-15 17:03) [9]

да


 
ANTPro ©   (2008-01-15 19:34) [10]

Пробовал в гугле набирать TMainMenu+TCoolBar ?


 
koss   (2008-01-16 15:42) [11]

Вот нашел такую штуку:

unit MenuBar;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ToolWin, ComCtrls, Menus;

type
 TMenuBar = class(TToolBar)
 private
   FMenu: TMainMenu;
   procedure SetMenu(const Value: TMainMenu);
 protected
   procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
 public
   constructor Create(AOwner: TComponent); override;
 published
   property EdgeBorders default [];
   property Menu: TMainMenu read FMenu write SetMenu;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Samples", [TMenuBar]);
end;

{ TMenuBar }

constructor TMenuBar.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 Flat := True;
 ShowCaptions := True;
 EdgeBorders := [];
 ControlStyle := [csCaptureMouse, csClickEvents,
   csDoubleClicks, csMenuEvents, csSetCaption];
end;

procedure TMenuBar.GetChildren(Proc: TGetChildProc; Root: TComponent);
begin
end;

procedure TMenuBar.SetMenu(const Value: TMainMenu);
var
 i: Integer;
 Button: TToolButton;
begin
 if FMenu = Value then exit;
 if Assigned(FMenu) then
   for i := ButtonCount - 1 downto 0 do
     Buttons[i].Free;
 FMenu := Value;
 if not Assigned(FMenu) then exit;
 for i := ButtonCount to FMenu.Items.Count - 1 do
 begin
   Button := TToolButton.Create(Self);
   try
     Button.AutoSize := True;
     Button.Grouped := True;
     Button.Parent := Self;
     Buttons[i].MenuItem := FMenu.Items[i];
   except
     Button.Free;
     raise;
   end;
 end;
 { Copy attributes from each menu item }
 for i := 0 to FMenu.Items.Count - 1 do
   Buttons[i].MenuItem := FMenu.Items[i];
end;

end.

В принципе работает, может есть способ проще, чем создание отдельного компонента?


 
Palladin ©   (2008-01-16 15:48) [12]

повторяю, у TToolBar уже есть свойство Menu



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.052 c
1-1193752142
Иван_А
2007-10-30 16:49
2008.02.10
WebBrowser


2-1200670447
Daskel
2008-01-18 18:34
2008.02.10
Отправка строки по сети


2-1200862323
batya-x
2008-01-20 23:52
2008.02.10
картинка на картинке


15-1199637317
Катунов Юрий
2008-01-06 19:35
2008.02.10
Как лучше всего повесить намертво компьютер?


1-1194184086
Zakir
2007-11-04 16:48
2008.02.10
Передача данных с помощью сообщений windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский