Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   SpTBXLib - Menu-Items rechts anordnen (https://www.delphipraxis.net/174352-sptbxlib-menu-items-rechts-anordnen.html)

Codehunter 18. Apr 2013 14:42


SpTBXLib - Menu-Items rechts anordnen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Manchmal ist es nötig, einzelne Items in einer MenuBar rechtsbündig anzuordnen. Zum Beispiel die MDI-Buttons in der Menüzeile oder (in alter Zeit) den Menüeintrag "Hilfe", welcher sich immer am rechten Fensterrand befand.

Die SpTBXLib bietet in ihrer aktuellen Form keine direkte Möglichkeit, das zu realisieren. Die zugrunde liegende Toolbar 2000 dagegen schon. Leider sind die entsprechenden Schnittstellen protected. Man muss sie eigentlich nur sichtbar machen.

Zuerst erstellen wir uns ein Formular und darauf ein TSpTBXDock mit einer TSpTBXToolbar. Die Eigenschaft "MenuBar" der Toolbar setzen wir auf TRUE. Der Toolbar fügen wir wie gewohnt zwei TSpTBXItems namens "btn1" und "btn2" hinzu. Unser Code sieht damit wie folgt aus:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TB2Item, SpTBXItem, TB2Dock, TB2Toolbar;

type
  TForm1 = class(TForm)
    dkTop: TSpTBXDock;
    tbMain: TSpTBXToolbar;
    btn1: TSpTBXItem;
    btn2: TSpTBXItem;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.
Jetzt fügen wir im implementation-Bereich eine neue Klassendeklaration hinzu, welche die entscheidende Property sichtbar macht:
Delphi-Quellcode:
implementation

{$R *.dfm}

type
  TMySpTBXItem = class(TSpTBXItem)
  public
    property ItemStyle;
  end;

end.
Zuletzt erstellen wir einen Handler für das OnCreate-Ereignis des Formulars und weisen dem zweiten TSpTBXItem in der Toolbar das entsprechende Style-Flag zu:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  TMySpTBXItem(btn2).ItemStyle:= TMySpTBXItem(btn2).ItemStyle + [tbisRightAlign];
end;
Voila: Beim nächsten Start der Anwendung klebt der MenuItem an der rechten Seite (siehe Screenshot).


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 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