Hauptmenü vertikal ?
Hi :-)
Gibt es eine Möglichkeit, das Hauptmenü nicht in einer Zeile horizontal oben auf dem Bildschirm anzuzeigen, sondern vertikal am rechten Rand ? Also, ich möchte dass das dann so aussieht: Datei Bearbeiten Ansicht ... Alles schön untereinander :-) Geht das ? Wenn ja, wie ? Leider konnte ich bisher nichts finden ... :? -=cats=- |
Re: Hauptmenü vertikal ?
mit dem normalen Mainmenü geht das nicht, du müsstest dir das selbst programmieren oder suchen ob schon jemand so eine Komponente geschrieben hat
|
Re: Hauptmenü vertikal ?
Hmm ... selber programmieren klingt schon mal nicht schlecht.
Leider bin ich noch blutiger Anfänger :-) Daher wäre meine erste Überlegung: Komme ich denn irgendwie an den Quelltext von diesem MainMenu was es in Delphi bereits gibt ? Sorry, ich hab davon echt noch nicht viel Ahnung :-) Also, ich habe da ja unter "Standard" das MainMenu. Wenn ich das einfüge dann ist das ja nur so ein kleiner Button, auf den ich klicken kann um das Menü zu bearbeiten. Und wenn ich dann in den Quellcode schaue, dann steht da nur was wenn ich z.B. Datei --> Beenden ne Funktion zugewiesen habe ... Ich hoffe, man versteht einigermaßen, was ich meine ... Aber jetzt muss doch irgendwo noch stehen, wie dieses Menü angeordnet ist. Woher weiß er, das Datei neben Bearbeiten steht ? Bzw. woher weiß er überhaupt, das es nebeneinander stehen muss ? Ich denke mir, dass das ja irgendwo mal festgelegt worden sein muss. Kommt man da irgendwie dran, das ich das verändern kann ? Oder denke ich da zu kompliziert ?? -=cats=- |
Re: Hauptmenü vertikal ?
Hallo,
Zitat:
Die Quellen des TMenu werden Dir wahrscheinlich nicht viel bringen. Die VCL baut hier auf dem Windows-API auf, und das unterstützt IMHO keine vertikalen Menüs. Bei den Programmen, die sowas haben, wurde das komplett selbst programmiert. Das hat auch jemand für Delphi getan: Schau Dir doch mal Toolbar2000 an, da kann man das Menü an die Seite legen, allerdings wird dann auch der Text gekippt. Gruß xaromz |
Re: Hauptmenü vertikal ?
Such mal nach Outlookbar. Das ist so eine Komponente die am Rand die Einträge untereinander darstellen kann.
|
Re: Hauptmenü vertikal ?
Also, ich habe mal nach OutlookBar gesucht.
Dann bin ich auf dieses JEDI JCL gestoßen. Das kann man sich runterladen. Habe ich auch gemacht und anschließend versucht das in Delphi 6 einzubinden. Da gibts so ne install.bat wenn man sich das runterlädt. Damit habe ich das installiert. Wenn ich nun in Delphi auf "Komponenten --> Packages installieren" klicke, dann steht das JCL da auch mit einem Haken drin. Nur irgendwie wird das bei mir nicht angezeigt .. In dieser Zeile wo auch Standard, Zusätzlich etc ist .. Mache ich da noch irgendwas falsch ? |
Re: Hauptmenü vertikal ?
Hi,
du hast die JCL heruntergeladen und installiert. Die von dir gesuchte Komponente befindet sich aber in der JVCL (man achte auf das "V" = "visual") Daß die die JCL installiert hast ist schon ganz gut (JVCL benötigt die nämlich). Lade dir auch noch die JVCL herunter und installier sie und dann wirst du die Komponente finden. Ciao, Ralf |
Re: Hauptmenü vertikal ?
wie denkst du dir das mit Untermenüs (wie soll das aussehen)?
mal ein versuch sowas zu implementieren (vorerst links), wenn ich dich richtig verstanden habe...
Delphi-Quellcode:
//dfm:
object Form1: TForm1 Left = 200 Top = 108 Width = 870 Height = 640 Caption = 'Form1' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] PixelsPerInch = 96 TextHeight = 13 object ListBox1: TListBox Left = 0 Top = 0 Width = 45 Height = 97 Color = clBtnFace ItemHeight = 13 Items.Strings = ( '1' '2' '3') TabOrder = 0 OnClick = ListBox1Click end object PopupMenu1: TPopupMenu Left = 48 object menu11: TMenuItem Caption = 'menu1-1' end object menu121: TMenuItem Caption = 'menu1-2' end end object PopupMenu2: TPopupMenu Left = 48 Top = 28 object menu211: TMenuItem Caption = 'menu2-1' end object menu221: TMenuItem Caption = 'menu2-2' end end object PopupMenu3: TPopupMenu Left = 48 Top = 56 object menu311: TMenuItem Caption = 'menu3-1' end object menu321: TMenuItem Caption = 'menu3-2' end end end
Delphi-Quellcode:
rechts sollte sich per TPopupmenu.Alignment und ohne "+listbox1.width" realisieren lassen.
//pas
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; PopupMenu1: TPopupMenu; PopupMenu2: TPopupMenu; PopupMenu3: TPopupMenu; menu11: TMenuItem; menu121: TMenuItem; menu211: TMenuItem; menu221: TMenuItem; menu311: TMenuItem; menu321: TMenuItem; procedure ListBox1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.ListBox1Click(Sender: TObject); var p:TPoint; pm:TPopupmenu; begin p:=Point(Listbox1.left,listbox1.top); p:=ClientToScreen(p); pm:=(findcomponent('popupmenu'+IntToStr(Listbox1.Itemindex+1)) as TPopupmenu); if assigned(pm) then pm.popup(p.x+listbox1.width,p.y+Listbox1.Itemindex*Listbox1.Itemheight); end; end. HTH Frank |
Re: Hauptmenü vertikal ?
Hi Alfi,
vielen Dank ! Ich lade mir jetzt gerade so eine zip-Datei wo scheinbar JCL und JVCL drin sind :-) Das werde ich dann gleich mal ausprobieren :-) und an Frank : :-) Dir auch vielen Dank ! Da ich gestern nicht mehr so viel gefunden habe zu dem Menü, habe ich mir eine andere Möglichkeit überlegt. Allerdings ist die mehr "gefuscht" finde ich ;-) und deshalb noch nicht meine endgültige Lösung. Ich habe mir ein Panel am rechten Rand gemacht mit ein paar SpeedButtons. Und jeder SpeedButton hat ein PopUp Menu bekommen. Gefällt mir noch nicht so gut, man sieht auch das es nur ein PopUp Menu ist. Naja. Und dann musste ich auch noch feststellen, das man da nicht so einfach die Farbe ändern kann :-( Zumindest ist es für einen Anfänger nicht so leicht :? Deine Idee werde ich aber noch ausprobieren ! Gruß, -=cats=- :coder: |
Re: Hauptmenü vertikal ?
Zitat:
In "Menu" von Toolbar Dein MainMenu eintragen und fertig. Auf diese Weise kannst Du Dein MainMenu quasi überall platzieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz