#ifndef AuswahlBox_H #define AuswahlBox_H #include "Zeichnung.h" #include "Array.h" namespace Framework { class TextFeld; //! TextFeld.h class VScrollBar; //! Scroll.h class Rahmen; //! Rahmen.h class Knopf; //! Knopf.h class AlphaFeld; //! AlphaFeld.h class Text; //! Tet.h class Schrift; //! Schrift.h class TextRenderer; //! Eine Zeichnung des 2D GUI Frameworks. Repräsentiert eine Box, aus der der Nutzer durch ausklappen verschiedene Werte auswählen kann class AuswahlBox : public ZeichnungHintergrund { public: class Style : public ZeichnungHintergrund::Style { public: const static __int64 FeldRahmen = 0x000001000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Rahmen const static __int64 FeldHintergrund = 0x000002000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Hintergrund const static __int64 FeldHBild = 0x000004000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste ein Bild als Hintergrund const static __int64 FeldHAlpha = 0x000008000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Transparenten Hintergrund const static __int64 FeldBuffer = 0x000010000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Farbübergang const static __int64 AuswahlHintergrund = 0x000020000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Hintergrund const static __int64 AuswahlHBild = 0x000040000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist ein Hintergrundbild const static __int64 AuswahlHAlpha = 0x000080000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen transparenten Hintergrund const static __int64 AuswahlBuffer = 0x000100000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Farbübergang const static __int64 AuswahlRahmen = 0x000200000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Rahmen const static __int64 MultiStyled = 0x000400000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert seine eigenen Hintergründe unt Rahmen und nicht alle die selben const static __int64 MaxHeight = 0x004000000; //! Legt eine maximale Höhe der ausgeklappten Liste fest. Es erscheint automatisch eine Scrollbar wenn mehr Elemente da sind als sichtbar sein können const static __int64 MausHintergrund = 0x008000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drau zeigt, einen Hintergrund const static __int64 MausHBild = 0x010000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, ein Hintergrundbild const static __int64 MausHAlpha = 0x020000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen transparenten Hintergrund const static __int64 MausBuffer = 0x040000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen Farbübergang const static __int64 MausRahmen = 0x080000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen Rahmen //const int NachObenAusklappen = 0x100000000; //const int AutoAusklappRichtung = 0x200000000; const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldRahmen | AuswahlBuffer | AuswahlRahmen | MaxHeight | VScroll | MausRahmen | MausBuffer | Hintergrund | MEIgnoreParentInside | MEIgnoreVerarbeitet; //! Normaler Style: Sichtbar, Erlaubt, Rahmen, FeldRahmen, AuswahlBuffer, AuswahlRahmen, MaxHöhe, VScroll, MausRahmen, MausBuffer }; private: TextRenderer *textRd; Array< __int64 > *msStyle; RCArray< TextFeld > *members; Knopf *ausfahren; Rahmen *auswRahmen; int auswBgF; Bild *auswBgB; AlphaFeld *auswAf; RCArray< Rahmen > *msAuswRahmen; Array< int > *msAuswBgF; RCArray< Bild > *msAuswBgB; RCArray< AlphaFeld > *msAuswAf; Rahmen *mausRahmen; int mausBgF; Bild *mausBgB; AlphaFeld *mausAf; RCArray< Rahmen > *msMausRahmen; Array< int > *msMausBgF; RCArray< Bild > *msMausBgB; RCArray< AlphaFeld > *msMausAf; int anzahl; int auswahl; bool ausgeklappt; int ausklappHeight; int ausklapMaxHeight; int eintragHeight; double tickval; int mausEintrag; bool scrollAnzeigen; void *eAkP; std::function< void( void *, AuswahlBox *, int, int ) > eAk; //! Verarbeitet Maus Nachrichten //! \param me Das Ereignis, was durch die Mauseingabe ausgelößt wurde __declspec( dllexport ) void doMausEreignis( MausEreignis &me, bool userRet ) override; public: //! Konstruktor __declspec( dllexport ) AuswahlBox(); //! Destruktor __declspec( dllexport ) virtual ~AuswahlBox(); //! Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Benutzer ein neues element auswählt //! \param p Der Parameter __declspec( dllexport ) void setEventParam( void *p ); //! Setzt die Rückruffunktion, die Aufgerufen wird, wenn der Benutzer ein neues Element auswählt //! \param eAk Die Rückruffunktion Aufruf: eAk( parameter, this, 0, auswahlIndex ) __declspec( dllexport ) void setEventAktion( std::function< void( void *, AuswahlBox *, int, int ) > event ); //! Setzt den verwendeten TextRenderer //! \param textRd Der Textrenderer __declspec( dllexport ) void setTextRendererZ( TextRenderer *textRd ); //! Setzt die verwendete Schrift //! \param schrift Die Schrift __declspec( dllexport ) void setSchriftZ( Schrift *schrift ); //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag ist zu Beginn automatisch ausgewählt //! \param txt Der Text des Eintrags __declspec( dllexport ) void addEintrag( const char *txt ); //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag ist zu Beginn automatisch ausgewählt //! \param txt Der Text des Eintrags __declspec( dllexport ) void addEintrag( Text *txt ); //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag ist zu Beginn automatisch ausgewählt //! \param txt Ein Zeiger auf den Eintrag __declspec( dllexport ) void addEintragZ( TextFeld *txt ); //! Ändert den Text eines Eintrags //! \param i Der Index des Eintrags //! \param txt Der neue Text __declspec( dllexport ) void setEintrag( int i, const char *txt ); //! Ändert den Text eines Eintrags //! \param i Der Index des Eintrags //! \param txt Der neue Text __declspec( dllexport ) void setEintrag( int i, Text *txt ); //! Ändert einen Eintrag //! \param i Der Index des Eintrags //! \param txt Ein Zeiger auf den neuen Eintrag __declspec( dllexport ) void setEintragZ( int i, TextFeld *txt ); //! Löscht einen Eintrag //! \param i Der Index des Eintrags __declspec( dllexport ) void removeEintrag( int i ); //! Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der Liste verwendet wird //! \param ausK Der Knopf __declspec( dllexport ) void setAusklappKnopfZ( Knopf *ausK ); //! Setzt einen Zeiger auf einen Rahmen, der für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param rahmen Der Rahemn __declspec( dllexport ) void setEintragRahmenZ( int i, Rahmen *rahmen ); //! Setzt die Farbe eines Rahmens, der für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param f Die farbe im A8R8G8B8 Format __declspec( dllexport ) void setEintragRahmenFarbe( int i, int f ); //! Setzt die Breite eines Rahmens, der für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param rbr Die Breite des Rahmens in Pixeln __declspec( dllexport ) void setEintragRahmenBreite( int i, int rbr ); //! Setzt eine Hintergrund Farbe, die für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param f Die farbe im A8R8G8B8 Format __declspec( dllexport ) void setEintragHintergrundFarbe( int i, int f ); //! Setzt einen zeiger auf ein Hintergrund Bild, das für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param bgB Das Hintergrund Bild __declspec( dllexport ) void setEintragHintergrundBildZ( int i, Bild *bgB ); //! Setzt ein Hintergrund Bild durch Kopieren, das für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param bgB Das Hintergrund Bild __declspec( dllexport ) void setEintragHintergrundBild( int i, Bild *bgB ); //! Setzt einen zeiger auf einen Farbübergangn, der für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param af Der Farbübergang __declspec( dllexport ) void setEintragAlphaFeldZ( int i, AlphaFeld *af ); //! Setzt dei Farbe eines Farbübergangns, der für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param afF Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setEintragAlphaFeldFarbe( int i, int afF ); //! Setzt dei Stärke eines Farbübergangns, der für einen bestimmten Eintrag benutzt wird //! \param i Der Index des Eintrags //! \param afSt Die Stärke __declspec( dllexport ) void setEintragAlphaFeldStrength( int i, int afSt ); //! Setzt eienen Zeiger auf einen Rahmen, der bei dem ausgewählten Eintrag verwendet wird //! \param rahmen Der Rahmen __declspec( dllexport ) void setAuswRahmenZ( Rahmen *rahmen ); //! Setzt die Farbe eines Rahmens, der bei dem ausgewählten Eintrag verwendet wird //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setAuswRahmenFarbe( int f ); //! Setzt die Breite eines Rahmens, der bei dem ausgewählten Eintrag verwendet wird //! \param rbr Die Breite in Pixeln __declspec( dllexport ) void setAuswRahmenBreite( int rbr ); //! Setzt die Hintergrund Farbe, die bei dem ausgewählten Eintrag verwendet wird //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setAuswHintergrundFarbe( int f ); //! Setzt den Zeiger auf ein Hintergrund Bild, das bei dem ausgewählten Eintrag verwendet wird //! \param bgB Das Bild __declspec( dllexport ) void setAuswHintergrundBildZ( Bild *bgB ); //! Setzt ein Hintergrund Bild durch kopieren, das bei dem ausgewählten Eintrag verwendet wird //! \param bgB Das Bild __declspec( dllexport ) void setAuswHintergrundBild( Bild *bgB ); //! Setzt den Zeiger auf einen Farbübergang, der bei dem ausgewählten Eintrag verwendet wird //! \param af Der Farbübergang __declspec( dllexport ) void setAuswAlphaFeldZ( AlphaFeld *af ); //! Setzt die Farbe eines Farbübergangs, der bei dem ausgewählten Eintrag verwendet wird //! \param afF Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setAuswAlphaFeldFarbe( int afF ); //! Setzt die Stärke eines Farbübergangs, der bei dem ausgewählten Eintrag verwendet wird //! \param afSt Die Stärke __declspec( dllexport ) void setAuswAlphaFeldStrength( int afSt ); //! Setzt eienen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param rahmen Der Rahmen __declspec( dllexport ) void setMsAuswRahmenZ( int i, Rahmen *rahmen ); //! Setzt die Farbe einens Rahmens, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMsAuswRahmenFarbe( int i, int f ); //! Setzt die Breite einens Rahmens, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param rbr Die Breite in Pixeln __declspec( dllexport ) void setMsAuswRahmenBreite( int i, int rbr ); //! Setzt die Hintergrundfarbe, die bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMsAuswHintergrundFarbe( int i, int f ); //! Setzt eienen Zeiger auf eine Hintergrund Bild, das bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param bgB Das Bild __declspec( dllexport ) void setMsAuswHintergrundBildZ( int i, Bild *bgB ); //! Setzt eien Hintergrund Bild durch kopieren, das bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param bgB Das Bild __declspec( dllexport ) void setMsAuswHintergrundBild( int i, Bild *bgB ); //! Setzt eienen Zeiger auf einen Farbverlauf, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param af Der Farbverlauf __declspec( dllexport ) void setMsAuswAlphaFeldZ( int i, AlphaFeld *af ); //! Setzt die Farbe eines Farbverlaufs, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param afF Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMsAuswAlphaFeldFarbe( int i, int afF ); //! Setzt die Stärke eines Farbverlaufs, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param afSt Die Stärke __declspec( dllexport ) void setMsAuswAlphaFeldStrength( int i, int afSt ); //! Setzt einen Zeiger auf einen Rahmen, der bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param rahmen Der Rahmen __declspec( dllexport ) void setMausRahmenZ( Rahmen *rahmen ); //! Setzt die Farbe eines Rahmens, der bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMausRahmenFarbe( int f ); //! Setzt die Breite eines Rahmens, der bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param rbr Die Breite des Rahmens in Pixeln __declspec( dllexport ) void setMausRahmenBreite( int rbr ); //! Setzt die Hintergrund Farbe, die bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMausHintergrundFarbe( int f ); //! Setzt einen Zeiger auf ein Hintergrund Bild, das bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param bgB Das Bild __declspec( dllexport ) void setMausHintergrundBildZ( Bild *bgB ); //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param bgB Das Bild __declspec( dllexport ) void setMausHintergrundBild( Bild *bgB ); //! Setzt einen Farbverlauf, der bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param af Der Farbverlauf __declspec( dllexport ) void setMausAlphaFeldZ( AlphaFeld *af ); //! Setzt die Farbe eines Farbverlaufs, der bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param afF Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMausAlphaFeldFarbe( int afF ); //! Setzt die Stärke eines Farbverlaufs, der bei dem Eintrag verwendet wird, auf den die Maus zeigt //! \param afSt Die Stärke __declspec( dllexport ) void setMausAlphaFeldStrength( int afSt ); //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param rahmen Der Rahmen __declspec( dllexport ) void setMsMausRahmenZ( int i, Rahmen *rahmen ); //! Setzt die Farbe eines Rahmes, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMsMausRahmenFarbe( int i, int f ); //! Setzt die Breite eines Rahmes, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param rbr Die Breite in Pixeln __declspec( dllexport ) void setMsMausRahmenBreite( int i, int rbr ); //! Setzt die Hintergrund Farbe, die bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param f Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMsMausHintergrundFarbe( int i, int f ); //! Setzt einen Zeiger auf Hintergrund Bild, das bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param bgB Das Bild __declspec( dllexport ) void setMsMausHintergrundBildZ( int i, Bild *bgB ); //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param bgB Das Bild __declspec( dllexport ) void setMsMausHintergrundBild( int i, Bild *bgB ); //! Setzt einen Zeiger auf einen Farbübergang, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param af Der Farbverlauf __declspec( dllexport ) void setMsMausAlphaFeldZ( int i, AlphaFeld *af ); //! Setzt die Farbe einens Farbübergangs, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param afF Die Farbe im A8R8G8B8 Format __declspec( dllexport ) void setMsMausAlphaFeldFarbe( int i, int afF ); //! Setzt die Stärke einens Farbübergangs, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param afSt Die Stärke __declspec( dllexport ) void setMsMausAlphaFeldStrength( int i, int afSt ); //! Wählt ein Element aus //! \param i Der Index des Elements __declspec( dllexport ) void setAuswahl( int i ); //! Klappt die Liste zum Auswählen aus __declspec( dllexport ) void ausklappen(); //! Klappt die Liste zum Auswählen ein __declspec( dllexport ) void einklappen(); //! Scrollt in der Liste zu einem bestimmten Eintrag //! \param i Der Index des Eintrags __declspec( dllexport ) void scrollZuEintrag( int i ); //! Setzt die maximale Ausklapp Höhe der Liste //! \param maxHeight Die maximale Höhe in Pixeln __declspec( dllexport ) void setMaxAuskappHeight( int maxHeight ); //! Setzt die Höhe der Einträge //! \param height Die Höhe in Pixeln __declspec( dllexport ) void setEintragHeight( int height ); //! Fügt Styles zu einem bestimmten Eintrag hinzu, falls der Flag MultiStyled gesetzt wurde //! \param i Der Index des Eintrags //! \param abStyle Der Style, der hinzugefügt werden soll __declspec( dllexport ) void addMsStyle( int i, __int64 abStyle ); //! Setzt Styles eines bestimmten Eintrags, falls der Flag MultiStyled gesetzt wurde //! \param i Der Index des Eintrags //! \param abStyle Der Style //! \param add 1, falls die Styles hinzugefügt werden sollen und 0, falls sie entfernt werden sollen __declspec( dllexport ) void setMsStyle( int i, __int64 abStyle, bool add ); //! Ersetzt die Styles eines bestimmten Eintrags, falls der Flag MultiStyled gesetzt wurde //! \param i Der Index des Eintrags //! \param abStyle Der neue Style __declspec( dllexport ) void setMsStyle( int i, __int64 abStyle ); //! Entfernt Styles von einem bestimmten Eintrag, falls der Flag MultiStyled gesetzt wurde //! \param i Der Index des Eintrags //! \param abStyle Der Style, der entfernt werden soll __declspec( dllexport ) void removeMsStyle( int i, __int64 abStyle ); //! Aktualisiert das Objekt. Wird vom Framework aufgerufen //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist //! \return 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst __declspec( dllexport ) bool tick( double tickVal ) override; //! Verarbeitet Tastatur Nachrichten //! \param me Das Ereignis, was durch die Tastatureingabe ausgelößt wurde __declspec( dllexport ) void doTastaturEreignis( TastaturEreignis &te ) override; //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist //! \param zRObj Das Bild, in welches gezeichnet werden soll __declspec( dllexport ) void render( Bild &zRObj ) override; //! Gibt den Index eines Eintrags zurück //! \param txt Der Text des Eintrags __declspec( dllexport ) int getEintragPos( const char *txt ) const; //! Gibt den Index eines Eintrags zurück //! \param txt Der Text des Eintrags __declspec( dllexport ) int getEintragPos( Text *txt ) const; //! Gibt den Text eines Eintrags zurück //! \param i Der Index des Eintrags __declspec( dllexport ) Text *getEintragText( int i ) const; //! Gibt den Text eines Eintrags ohne erhöhten Reference Counter zurück //! \param i Der Index des Eintrags __declspec( dllexport ) Text *zEintragText( int i ) const; //! Gibt einen Eintrag zurück //! \param i Der Index des Eintrags __declspec( dllexport ) TextFeld *getEintrag( int i ) const; //! Gibt einen Eintrag ohne erhöhten Reference Counter zurück //! \param i Der Index des Eintrags __declspec( dllexport ) TextFeld *zEintrag( int i ) const; //! Gibt den Index des Ausgewählten Eintrags zurück __declspec( dllexport ) int getAuswahl() const; //! Gibt die Anzahl der Einträge zurück __declspec( dllexport ) int getEintragAnzahl() const; //! Gibt zurück, ob die Liste gerade Ausgeklappt ist __declspec( dllexport ) bool istAusgeklappt() const; //! Gibt die maximale Höhe der ausgeklappten Liste zurück __declspec( dllexport ) int getMaxHeight() const; //! Gibt die Höhe eines Eintrags zurück __declspec( dllexport ) int getEintragHeight() const; //! Gibt den Knopf zurück, der zum aus- und einklappen dr Liste verwendet wird __declspec( dllexport ) Knopf *getAusklappKnopf() const; //! Gibt den Knopf ohne erhöhten Reference Counter zurück, der zum aus- und einklappen dr Liste verwendet wird __declspec( dllexport ) Knopf *zAusklappKnopf() const; //! Gibt den Rahmen eines Eintrags zurück //! \param i Der Index des Eintrags __declspec( dllexport ) Rahmen *getEintragRahmen( int i ) const; //! Gibt den Rahmen eines Eintrags ohne erhöhten Reference Counter zurück //! \param i Der Index des Eintrags __declspec( dllexport ) Rahmen *zEintragRahmen( int i ) const; //! Gibt die Farbe eines Rahmens eines Eintrags im A8R8G8B8 Format zurück //! \param i Der Index des Eintrags __declspec( dllexport ) int getEintragRahmenFarbe( int i ) const; //! Gibt die Breite eines Rahmens eines Eintrags zurück //! \param i Der Index des Eintrags __declspec( dllexport ) int getEintragRahmenBreite( int i ) const; //! Gibt den Farbübergang eines Eintrags zurück //! \param i Der Index des Eintrags __declspec( dllexport ) AlphaFeld *getEintragAlphaFeld( int i ) const; //! Gibt den Farbübergang eines Eintrags ohne erhöhten Reference Counter zurück //! \param i Der Index des Eintrags __declspec( dllexport ) AlphaFeld *zEintragAlphaFeld( int i ) const; //! Gibt die Farbe eines Farbübergangs eines Eintrags im A8R8G8B8 Format zurück //! \param i Der Index des Eintrags __declspec( dllexport ) int getEintragAlphaFeldFarbe( int i ) const; //! Gibt die Stärke eines Farbübergangs eines Eintrags zurück //! \param i Der Index des Eintrags __declspec( dllexport ) int getEintragAlphaFeldStrength( int i ) const; //! Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurück //! \param i Der Index des Eintrags __declspec( dllexport ) int getEintragHintergrundFarbe( int i ) const; //! Gibt das Hintergrund Bild eines Eintrags zurück //! \param i Der Index des Eintrags __declspec( dllexport ) Bild *getEintragHintergrundBild( int i ) const; //! Gibt das Hintergrund Bild eines Eintrags ohne erhöhten Reference Counter zurück //! \param i Der Index des Eintrags __declspec( dllexport ) Bild *zEintragHintergrundBild( int i ) const; //! Gibt den Rahmen zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) Rahmen *getAuswRahmen() const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) Rahmen *zAuswRahmen() const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) int getAuswRahmenFarbe() const; //! Gibt die Breite des Rahmens zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) int getAuswRahmenBreite() const; //! Gibt den Farbübergang zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) AlphaFeld *getAuswAlphaFeld() const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) AlphaFeld *zAuswAlphaFeld() const; //! Gibt die Farbe des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) int getAuswAlphaFeldFarbe() const; //! Gibt die Stärke des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) int getAuswAlphaFeldStrength() const; //! Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück, die bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) int getAuswHintergrundFarbe() const; //! Gibt das Hintergrundbild zurück, das bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) Bild *getAuswHintergrundBild() const; //! Gibt das Hintergrundbild ohne erhöhten Reference Counter zurück, das bei der Auswahl eines Eintrags verwendet wird __declspec( dllexport ) Bild *zAuswHintergrundBild() const; //! Gibt den Rahmen zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) Rahmen *getMsAuswRahmen( int i ) const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) Rahmen *zMsAuswRahmen( int i ) const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsAuswRahmenFarbe( int i ) const; //! Gibt die Breite des Rahmens zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsAuswRahmenBreite( int i ) const; //! Gibt den Farbübergang zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) AlphaFeld *getMsAuswAlphaFeld( int i ) const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) AlphaFeld *zMsAuswAlphaFeld( int i ) const; //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsAuswAlphaFeldFarbe( int i ) const; //! Gibt die Stärke des Farbübergangs zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsAuswAlphaFeldStrength( int i ) const; //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsAuswHintergrundFarbe( int i ) const; //! Gibt das Hintergrund Bild zurück, das bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) Bild *getMsAuswHintergrundBild( int i ) const; //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, das bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags __declspec( dllexport ) Bild *zMsAuswHintergrundBild( int i ) const; //! Gibt den Rahmen zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) Rahmen *getMausRahmen() const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) Rahmen *zMausRahmen() const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) int getMausRahmenFarbe() const; //! Gibt die Breite des Rahmens zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) int getMausRahmenBreite() const; //! Gibt den Farbübergang zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) AlphaFeld *getMausAlphaFeld() const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) AlphaFeld *zMausAlphaFeld() const; //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) int getMausAlphaFeldFarbe() const; //! Gibt die Breite des Farbübergangs zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) int getMausAlphaFeldStrength() const; //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) int getMausHintergrundFarbe() const; //! Gibt das Hintergrund Bild zurück, das verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) Bild *getMausHintergrundBild() const; //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, das verwendet wird, wenn die Maus auf einen Eintrag zeigt __declspec( dllexport ) Bild *zMausHintergrundBild() const; //! Gibt den Rahmen zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) Rahmen *getMsMausRahmen( int i ) const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) Rahmen *zMsMausRahmen( int i ) const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsMausRahmenFarbe( int i ) const; //! Gibt die Breite des Rahmens zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsMausRahmenBreite( int i ) const; //! Gibt den Farbübergang zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) AlphaFeld *getMsMausAlphaFeld( int i ) const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) AlphaFeld *zMsMausAlphaFeld( int i ) const; //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsMausAlphaFeldFarbe( int i ) const; //! Gibt die Stärke des Farbübergangs zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsMausAlphaFeldStrength( int i ) const; //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) int getMsMausHintergrundFarbe( int i ) const; //! Gibt das Hintergrund Bild zurück, das bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) Bild *getMsMausHintergrundBild( int i ) const; //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, das bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags __declspec( dllexport ) Bild *zMsMausHintergrundBild( int i ) const; //! Prüft, ob ein Punkt in diesem Objekt liegt //! \param x die x koordinate des punktes //! \param y die y koordinate des punktes //! \return 1, wenn der punkt innen ist, 0 sonst __declspec( dllexport ) bool istPunktInnen( int x, int y ) const override; //! Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein bestimmter Style gesetzt wurde //! \param i Der Index des Eintrags //! \param abStyle Der Style __declspec( dllexport ) inline bool hatMsStyle( int i, __int64 abStyle ) const; //! Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein bestimmter Style nicht gesetzt wurde //! \param i Der Index des Eintrags //! \param abStyle Der Style __declspec( dllexport ) inline bool hatMsStyleNicht( int i, __int64 abStyle ) const; __declspec( dllexport ) Zeichnung *dublizieren() const override; //! Erzeugt eine Kopie des Zeichnungs }; } #endif