Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Objekt, was mehrere TAction aufnehmen kann. (https://www.delphipraxis.net/75999-objekt-mehrere-taction-aufnehmen-kann.html)

backdraft 28. Aug 2006 14:19


Objekt, was mehrere TAction aufnehmen kann.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich versuche mich gerade an einem grafischen Objekt, welches mehrere TActions aufnehmen kann, und diese untereinander anzeigt und klickbar macht.

Leider ist mein Ansatz da wohl irgendwie falsch.

Ich habe mir eine Klasse von TCollection und eine von TCollectionItem abgeleitet. Irgendwie kann ich trotzdem in der Delphi IDE da keine Objekte hinzufügen. Klappt sowas überhaupt mit diesen Objekten, oder ist mein Ansatz komplett falsch?

Vlt kennt auch jemand eine Komponente wo ich mir sowas mal anschauen kann.

Muss ich dafür einen eigenen Property Editor schreiben?

Grüße Oliver

Also ich habe gerade nochmal probiert aus dem Delphi Quelltext darauf zuzugreifen. Das geht auch voll in die Hose.
Weiss jemand vlt ein ähnlich Komponente, die soetwas auch macht?

shmia 28. Aug 2006 15:03

Re: Objekt, was mehrere TAction aufnehmen kann.
 
Zitat:

Zitat von backdraft
ich versuche mich gerade an einem grafischen Objekt, welches mehrere TActions aufnehmen kann, und diese untereinander anzeigt und klickbar macht.
Leider ist mein Ansatz da wohl irgendwie falsch.

Ja, es gibt doch schon Actions und ActionLists. Wozu also alles nochmals erfinden.
Dein Panel könnte ein Property ActionList haben und entweder alle Actions oder nur
die Actions einer bestimmten Kategorie visualisieren.

backdraft 28. Aug 2006 15:15

Re: Objekt, was mehrere TAction aufnehmen kann.
 
Zitat:

Zitat von shmia
Zitat:

Zitat von backdraft
ich versuche mich gerade an einem grafischen Objekt, welches mehrere TActions aufnehmen kann, und diese untereinander anzeigt und klickbar macht.
Leider ist mein Ansatz da wohl irgendwie falsch.

Ja, es gibt doch schon Actions und ActionLists. Wozu also alles nochmals erfinden.
Dein Panel könnte ein Property ActionList haben und entweder alle Actions oder nur
die Actions einer bestimmten Kategorie visualisieren.

ich möchte quasi ein system bauen in dem der benutzer sich via drag and drop seine maske designen kann.
der ansatz mit der actionlist und kategorie ist schonmal gut, aber ich hätte doch gerne das andere.

Es kann ja kein Problem sein, sowas zu programmieren. Mir würde ja helfen, ob die Klassen richtig gewählt sind, oder ob sowas damit überhaupt nicht geht bzw nicht sinnvoll ist.
Vlt sollte ich ja auch lieber eine TList nehmen.

shmia 28. Aug 2006 15:49

Re: Objekt, was mehrere TAction aufnehmen kann.
 
Zitat:

Zitat von backdraft
ich möchte quasi ein system bauen in dem der benutzer sich via drag and drop seine maske designen kann.
der ansatz mit der actionlist und kategorie ist schonmal gut, aber ich hätte doch gerne das andere.

Ok, soweit klar.
Zunächst kann deine Anwendung nur Actions anbieten, die im Programm vorhanden sind.
Es gibt also einen Vorrat an möglichen Aktionen, die in einer Actionlist gespeichert sind.
Angenommen, du hast eine leere Toolbar, eine ActionList und eine INI-Datei.
Du arbeitest die Ini-Datei ab und erzeugst für jeden Eintrag einen neuen Button.
Die Ini-Datei sieht so aus:
Code:
[Form1_Toolbar1]
0=ActSave
1=ActPrint
2=ActHelp
3=ActLoad
4=ActSeriendruck
Die Toolbar ist manchmal etwas wiederspenstig, hat aber gegenüber dem Panel einige Vorteile.
Du hast also 3 Dinge: Toolbar, ActionList, INI-Datei
Damit kann man 3 verschiedene Dinge tun: Toolbar dynamisch laden, speichern und konfigurieren.
Zum Konfigurieren brauchst du ein eigenes Formular, das links die aktiven Aktions anzeigt und rechts den möglichen Vorrat.

backdraft 28. Aug 2006 19:10

Re: Objekt, was mehrere TAction aufnehmen kann.
 
Zitat:

Zitat von shmia
Die Toolbar ist manchmal etwas wiederspenstig, hat aber gegenüber dem Panel einige Vorteile.
Du hast also 3 Dinge: Toolbar, ActionList, INI-Datei
Damit kann man 3 verschiedene Dinge tun: Toolbar dynamisch laden, speichern und konfigurieren.
Zum Konfigurieren brauchst du ein eigenes Formular, das links die aktiven Aktions anzeigt und rechts den möglichen Vorrat.

Für TMainMenü, TPopupMenu und TToolbar hab ich das ganze schon fertig. Klappt wunderbar. Mit Speichern und alles.
Ich habe aber zusätzlich auf der linken Seite ein Objekt, so wie Outlook 2003. In das will ich das Panel legen, so dass der Benutzer sich da auch noch seine TActions reinlegen kann.
Obs nachher ein Panel, ein Listview oder ein Treeview ist ja egal. Erstmal muss ich ja die Actions dazufügen.

TBx 29. Aug 2006 08:14

Re: Objekt, was mehrere TAction aufnehmen kann.
 
Hallo!

Zitat:

Zitat von backdraft
Weiss jemand vlt ein ähnlich Komponente, die soetwas auch macht?

Schau DIr aml den ActionManager und den CustomizeDLG aus der Palettenseite Zusätzlich an.

Vielleicht findest Du hier die benötigten Infos.

Gruß

onlinekater

backdraft 29. Aug 2006 11:30

Re: Objekt, was mehrere TAction aufnehmen kann.
 
Zitat:

Zitat von onlinekater
Hallo!

Zitat:

Zitat von backdraft
Weiss jemand vlt ein ähnlich Komponente, die soetwas auch macht?

Schau DIr aml den ActionManager und den CustomizeDLG aus der Palettenseite Zusätzlich an.

Vielleicht findest Du hier die benötigten Infos.

Gruß

onlinekater

davon hab ich das andere ja alles abgeleitet.
beim actionmanager oder actionlist kann ich nicht schauen, da eine taction einer actionlist zugeordnet wird, und nicht wie ich möchte, das einem panel eine action zugeordnet wird.


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