AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Suche nach Komponente ähnlich wie TToolBar

Ein Thema von completestranger · begonnen am 11. Feb 2019 · letzter Beitrag vom 12. Feb 2019
Antwort Antwort
completestranger

Registriert seit: 7. Okt 2018
8 Beiträge
 
#1

Suche nach Komponente ähnlich wie TToolBar

  Alt 11. Feb 2019, 19:09
Hi,

ich bin auf der Suche nach einer Komponente ähnlich wie TToolBar. Folgende Voraussetzungen müssen erfüllt sein:
  • Irgendeine Art Bündelung der Buttons - aber keine Collections, da die Vererbungsmechanik in Delphi diese nicht unterstützt
    The visual form inheritance mechanism does not work for complex components that use published properties holding nested collections.
    Peter Below (TeamB) 2010
  • Einfärbung der Buttons - Background und Font
  • Propertysupport von Enable und Visible der einzelnen Buttons
  • Automatiklogik für Visible, sodass "keine Lücken (in der Anzeige) in der Liste" entstehen
  • 32 bit PNG mit Alphakanal Support
  • Imagelist Support mit ImageIndex
  • TAction Support
  • Bestimmung von Breite und Höhe der Buttons
  • "Pressed" Support, soll heißen man soll sehen welcher Button noch geklickt ist
  • Vertikale Anordnung

Warum funktioniert TToolBar nicht?
  • Sobald ShowCaptions aktiviert ist, wird anscheinend automatisch die Width der Buttons gesetzt
  • Man sieht "Pressed" nicht - vllt bin ich auch nur unfähig?

Warum funktioniert TCategoryButtons nicht?
  • Kein Propertysupport von Enable und Visible
  • Keine Vererbung, da so eine ****** Collection benutzt wird

Kann hier jemand weiterhelfen?
  Mit Zitat antworten Zitat
hoika
Online

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.799 Beiträge
 
Delphi XE4 Professional
 
#2

AW: Suche nach Komponente ähnlich wie TToolBar

  Alt 11. Feb 2019, 22:04
Hallo,
Warum funktioniert TToolBar nicht? Bau mal bitte ein Minimal-Bsp. zusammen, was deine 2 Problem (Width, Pressed) zeigt.
Heiko
  Mit Zitat antworten Zitat
completestranger

Registriert seit: 7. Okt 2018
8 Beiträge
 
#3

AW: Suche nach Komponente ähnlich wie TToolBar

  Alt 12. Feb 2019, 08:39
Hier mal ein Beispiel wie es ungefähr aussehen soll.

Folgende Dinge wären noch zu "korrigieren":
  1. ToolButton Caption links anordnen
  2. Buttonbreite soll gesetzt werden können
  3. Das abwählen der ToolButtons soll automatisch erfolgen, wenn man auf einen anderen Button oder Tabsheet klickt
Angehängte Dateien
Dateityp: zip ToolBarExample.zip (162,8 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Sulzbach-Rosenberg
240 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Suche nach Komponente ähnlich wie TToolBar

  Alt 12. Feb 2019, 10:09
Bei mir (Delphi 2009 Pro) wird die Größe der Buttons nicht verändert wenn ich ShowCaptions aktiviere. Außerdem kannst du die AutoSize-Property von TToolButton verwenden. Images mit 32Bit Alpha geht auch problemlos.

Dein Beispiel-Projekt kann ich leider nicht anschauen weil es die Komponente TSplitView im Delphi 2009 noch nicht gibt.

Gruppen kannst du z. B. mit Panels oder GroupBoxen machen. Einfach ein Panel (Align Top) erstellen. Für jede Gruppe ein weiteres Panel (Align Left) erstellen. In das Panel setzt du dann eine Toolbar mit den Buttons. So kannst du Toolbars/Buttons gruppieren. Du kannst die Gruppen auch optisch trennen. z. B. mit den Panel-Bevels-Properties oder einer anderen Panel-Komponente die Border-Styles unterstützt.

Vielleicht wäre das was für dich?

Beispiel:
toolbar-gruppen-beispiel.png

Im Anhang ist die EXE inkl. Code.
Angehängte Dateien
Dateityp: zip Toolbar Gruppen Beispiel.zip (305,3 KB, 4x aufgerufen)

Geändert von Andreas L. (12. Feb 2019 um 10:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
6.634 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Suche nach Komponente ähnlich wie TToolBar

  Alt 12. Feb 2019, 12:05
Das abwählen der ToolButtons soll automatisch erfolgen, wenn man auf einen anderen Button oder Tabsheet klickt
Das lässt sich ganz einfach realisieren, wenn man im jeweiligen OnUpdate der Actions das Checked der Action anhand der aktuellen TabPage setzt (Beispiel für ABear):
Delphi-Quellcode:
procedure TMainF.ABearExecute(Sender: TObject);
begin
  PCContent.ActivePage := TSBear;
end;

procedure TMainF.ABearUpdate(Sender: TObject);
begin
  ABear.Checked := PCContent.ActivePage = TSBear;
end;
Nebenbei ist dann auch nur immer der richtige Button als Down markiert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
completestranger

Registriert seit: 7. Okt 2018
8 Beiträge
 
#6

AW: Suche nach Komponente ähnlich wie TToolBar

  Alt 12. Feb 2019, 13:43
Bei mir (Delphi 2009 Pro) wird die Größe der Buttons nicht verändert wenn ich ShowCaptions aktiviere. Außerdem kannst du die AutoSize-Property von TToolButton verwenden. Images mit 32Bit Alpha geht auch problemlos.
Dann wurde mein Problem nicht verstanden. Bitte mach z. B. den Button "Startseite" 350 Pixel breit.

Und bitte die ToolButtons untereinander, also vertikal. Der Text rechts neben den Icons, nicht den Text unter den Icons.
  Mit Zitat antworten Zitat
completestranger

Registriert seit: 7. Okt 2018
8 Beiträge
 
#7

AW: Suche nach Komponente ähnlich wie TToolBar

  Alt 12. Feb 2019, 13:44
Das lässt sich ganz einfach realisieren, wenn man im jeweiligen OnUpdate der Actions das Checked der Action anhand der aktuellen TabPage setzt (Beispiel für ABear)
Danke, funktioniert.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf