![]() |
Re: Neues Vista Menu
Nun ja, das ist ja immer so ne Sache, mit Turbo Delphi und externen Komponenten...
Wie kann ich nun Items für das VistaMenü erstellen, das hier geht nämlich nicht:
Delphi-Quellcode:
Und ich habe keine eigene Item-Klasse für das Menü gefunden.
VMenu := TVistaMenu.Create(self);
aItem.Create(self); //Hier liegt der Fehler, aber mit Create(self) //oder Create(Form1) geht das auch nicht. AItem.Caption := 'Test'; VMenu.Items.Add(AItem); Ich finde das Menü vom Style her wirklich gut gelungen :thumb: |
Re: Neues Vista Menu
versuch doch ersteinmal über die Formularansicht die Items hinzuzufügen.
Muss dein Item unbedingt dynamisch erzeugt werden? |
Re: Neues Vista Menu
Hi,
Zitat:
Mfg FAlter |
Re: Neues Vista Menu
Hallo
Mit beigefügtem Code erstelle ich unter D7 ein VistaMenu zur Laufzeit und füge Items hinzu. Allerdings wird der ausgewählte Menüstil nicht angezeigt - vielleicht kann JuliaBecks da helfen:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, VistaMenu; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } FVistaMenu : TVistaMenu; procedure MenuFileOpen(Sender:TObject); procedure MenuFileQuit(Sender:TObject); procedure MenuEditCut(Sender:TOBject); public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var item, item1 : TMenuItem; begin FVistaMenu := TVistaMenu.Create(self); FVistaMenu.MenuStyle := msVistaOrange; // File item := TMenuItem.Create(self); with item do begin Caption := 'File'; end; FVistaMenu.Items.Add(item); item1 := TMenuItem.Create(self); with item1 do begin Caption := 'Open'; OnClick := MenuFileOpen; end; item.Add(item1); item1 := TMenuItem.Create(self); with item1 do begin Caption := 'Quit'; OnClick := MenuFileQuit; end; item.Add(item1); // Edit item := TMenuItem.Create(self); with item do begin caption := 'Edit'; end; FVistaMenu.Items.Add(item); item1 := TMenuItem.Create(self); with item1 do begin Caption := 'Cut'; OnClick := MenuEditCut; end; item.Add(item1); // etc. end; procedure TForm1.MenuFileOpen(Sender:TObject); begin ShowMessage('File / Open clicked'); end; procedure TForm1.MenuFileQuit(Sender:TObject); begin Close; end; procedure TForm1.MenuEditCut(Sender:TObject); begin ShowMessage('Edit / Cut clicked'); end; end. |
Re: Neues Vista Menu
hi, also normalerweise dürfte es keine Probleme geben.
ich werde mir aber die Zeit nehmen und dem Sachverhalt auf den Grund gehen. :cheer: |
Re: Neues Vista Menu
Die Lösung ist wahrscheinlich nicht sauber, aber es funktioniert:
Änderung von
Delphi-Quellcode:
nach
protected
procedure Loaded; override;
Delphi-Quellcode:
sowie Aufruf von
public
procedure Loaded; override;
Delphi-Quellcode:
nach der Erstellung des Menues.
FVistaMenu.Loaded;
|
Re: Neues Vista Menu
:dancer: Super, es funktioniert. :dancer: :dancer:
|
Re: Neues Vista Menu
Die Idee ist super und nett aussehen tut das Menü auch!
Aber eine kleine Frage am Rande: Ist es möglich, das Menü auch als Popup zu bekommen? :) |
Re: Neues Vista Menu
Zitat:
![]() |
Re: Neues Vista Menu
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz