123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524 |
- #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
- DLLEXPORT void doMausEreignis( MausEreignis &me, bool userRet ) override;
- public:
- //! Konstruktor
- DLLEXPORT AuswahlBox();
- //! Destruktor
- DLLEXPORT virtual ~AuswahlBox();
- //! Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Benutzer ein neues element auswählt
- //! \param p Der Parameter
- 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 )
- DLLEXPORT void setEventAktion( std::function< void( void *, AuswahlBox *, int, int ) > event );
- //! Setzt den verwendeten TextRenderer
- //! \param textRd Der Textrenderer
- DLLEXPORT void setTextRendererZ( TextRenderer *textRd );
- //! Setzt die verwendete Schrift
- //! \param schrift Die Schrift
- 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
- 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
- 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
- DLLEXPORT void addEintragZ( TextFeld *txt );
- //! Ändert den Text eines Eintrags
- //! \param i Der Index des Eintrags
- //! \param txt Der neue Text
- DLLEXPORT void setEintrag( int i, const char *txt );
- //! Ändert den Text eines Eintrags
- //! \param i Der Index des Eintrags
- //! \param txt Der neue Text
- DLLEXPORT void setEintrag( int i, Text *txt );
- //! Ändert einen Eintrag
- //! \param i Der Index des Eintrags
- //! \param txt Ein Zeiger auf den neuen Eintrag
- DLLEXPORT void setEintragZ( int i, TextFeld *txt );
- //! Löscht einen Eintrag
- //! \param i Der Index des Eintrags
- DLLEXPORT void removeEintrag( int i );
- //! Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der Liste verwendet wird
- //! \param ausK Der Knopf
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- DLLEXPORT void setAuswRahmenFarbe( int f );
- //! Setzt die Breite eines Rahmens, der bei dem ausgewählten Eintrag verwendet wird
- //! \param rbr Die Breite in Pixeln
- DLLEXPORT void setAuswRahmenBreite( int rbr );
- //! Setzt die Hintergrund Farbe, die bei dem ausgewählten Eintrag verwendet wird
- //! \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setAuswHintergrundFarbe( int f );
- //! Setzt den Zeiger auf ein Hintergrund Bild, das bei dem ausgewählten Eintrag verwendet wird
- //! \param bgB Das Bild
- DLLEXPORT void setAuswHintergrundBildZ( Bild *bgB );
- //! Setzt ein Hintergrund Bild durch kopieren, das bei dem ausgewählten Eintrag verwendet wird
- //! \param bgB Das Bild
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- DLLEXPORT void setMausHintergrundBild( Bild *bgB );
- //! Setzt einen Farbverlauf, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
- //! \param af Der Farbverlauf
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- DLLEXPORT void setMsMausAlphaFeldStrength( int i, int afSt );
- //! Wählt ein Element aus
- //! \param i Der Index des Elements
- DLLEXPORT void setAuswahl( int i );
- //! Klappt die Liste zum Auswählen aus
- DLLEXPORT void ausklappen();
- //! Klappt die Liste zum Auswählen ein
- DLLEXPORT void einklappen();
- //! Scrollt in der Liste zu einem bestimmten Eintrag
- //! \param i Der Index des Eintrags
- DLLEXPORT void scrollZuEintrag( int i );
- //! Setzt die maximale Ausklapp Höhe der Liste
- //! \param maxHeight Die maximale Höhe in Pixeln
- DLLEXPORT void setMaxAuskappHeight( int maxHeight );
- //! Setzt die Höhe der Einträge
- //! \param height Die Höhe in Pixeln
- 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
- 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
- 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
- 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
- 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
- DLLEXPORT bool tick( double tickVal ) override;
- //! Verarbeitet Tastatur Nachrichten
- //! \param me Das Ereignis, was durch die Tastatureingabe ausgelößt wurde
- DLLEXPORT void doTastaturEreignis( TastaturEreignis &te ) override;
- //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
- //! \param zRObj Das Bild, in welches gezeichnet werden soll
- DLLEXPORT void render( Bild &zRObj ) override;
- //! Gibt den Index eines Eintrags zurück
- //! \param txt Der Text des Eintrags
- DLLEXPORT int getEintragPos( const char *txt ) const;
- //! Gibt den Index eines Eintrags zurück
- //! \param txt Der Text des Eintrags
- DLLEXPORT int getEintragPos( Text *txt ) const;
- //! Gibt den Text eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Text *getEintragText( int i ) const;
- //! Gibt den Text eines Eintrags ohne erhöhten Reference Counter zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Text *zEintragText( int i ) const;
- //! Gibt einen Eintrag zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT TextFeld *getEintrag( int i ) const;
- //! Gibt einen Eintrag ohne erhöhten Reference Counter zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT TextFeld *zEintrag( int i ) const;
- //! Gibt den Index des Ausgewählten Eintrags zurück
- DLLEXPORT int getAuswahl() const;
- //! Gibt die Anzahl der Einträge zurück
- DLLEXPORT int getEintragAnzahl() const;
- //! Gibt zurück, ob die Liste gerade Ausgeklappt ist
- DLLEXPORT bool istAusgeklappt() const;
- //! Gibt die maximale Höhe der ausgeklappten Liste zurück
- DLLEXPORT int getMaxHeight() const;
- //! Gibt die Höhe eines Eintrags zurück
- DLLEXPORT int getEintragHeight() const;
- //! Gibt den Knopf zurück, der zum aus- und einklappen dr Liste verwendet wird
- DLLEXPORT Knopf *getAusklappKnopf() const;
- //! Gibt den Knopf ohne erhöhten Reference Counter zurück, der zum aus- und einklappen dr Liste verwendet wird
- DLLEXPORT Knopf *zAusklappKnopf() const;
- //! Gibt den Rahmen eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Rahmen *getEintragRahmen( int i ) const;
- //! Gibt den Rahmen eines Eintrags ohne erhöhten Reference Counter zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Rahmen *zEintragRahmen( int i ) const;
- //! Gibt die Farbe eines Rahmens eines Eintrags im A8R8G8B8 Format zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT int getEintragRahmenFarbe( int i ) const;
- //! Gibt die Breite eines Rahmens eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT int getEintragRahmenBreite( int i ) const;
- //! Gibt den Farbübergang eines Eintrags zurück
- //! \param i Der Index des Eintrags
- 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
- 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
- DLLEXPORT int getEintragAlphaFeldFarbe( int i ) const;
- //! Gibt die Stärke eines Farbübergangs eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT int getEintragAlphaFeldStrength( int i ) const;
- //! Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT int getEintragHintergrundFarbe( int i ) const;
- //! Gibt das Hintergrund Bild eines Eintrags zurück
- //! \param i Der Index des Eintrags
- 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
- DLLEXPORT Bild *zEintragHintergrundBild( int i ) const;
- //! Gibt den Rahmen zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT Rahmen *getAuswRahmen() const;
- //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT Rahmen *zAuswRahmen() const;
- //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT int getAuswRahmenFarbe() const;
- //! Gibt die Breite des Rahmens zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT int getAuswRahmenBreite() const;
- //! Gibt den Farbübergang zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT AlphaFeld *getAuswAlphaFeld() const;
- //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT AlphaFeld *zAuswAlphaFeld() const;
- //! Gibt die Farbe des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT int getAuswAlphaFeldFarbe() const;
- //! Gibt die Stärke des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT int getAuswAlphaFeldStrength() const;
- //! Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück, die bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT int getAuswHintergrundFarbe() const;
- //! Gibt das Hintergrundbild zurück, das bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT Bild *getAuswHintergrundBild() const;
- //! Gibt das Hintergrundbild ohne erhöhten Reference Counter zurück, das bei der Auswahl eines Eintrags verwendet wird
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- DLLEXPORT Bild *zMsAuswHintergrundBild( int i ) const;
- //! Gibt den Rahmen zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT Rahmen *getMausRahmen() const;
- //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT Rahmen *zMausRahmen() const;
- //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausRahmenFarbe() const;
- //! Gibt die Breite des Rahmens zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausRahmenBreite() const;
- //! Gibt den Farbübergang zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
- 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
- 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
- DLLEXPORT int getMausAlphaFeldFarbe() const;
- //! Gibt die Breite des Farbübergangs zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausAlphaFeldStrength() const;
- //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausHintergrundFarbe() const;
- //! Gibt das Hintergrund Bild zurück, das verwendet wird, wenn die Maus auf einen Eintrag zeigt
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- DLLEXPORT inline bool hatMsStyleNicht( int i, __int64 abStyle ) const;
- DLLEXPORT Zeichnung *dublizieren() const override; //! Erzeugt eine Kopie des Zeichnungs
- };
- }
- #endif
|