AuswahlBox.h 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522
  1. #ifndef AuswahlBox_H
  2. #define AuswahlBox_H
  3. #include "Zeichnung.h"
  4. #include "Array.h"
  5. namespace Framework
  6. {
  7. class TextFeld; // TextFeld.h
  8. class VScrollBar; // Scroll.h
  9. class Rahmen; // Rahmen.h
  10. class Knopf; // Knopf.h
  11. class AlphaFeld; // AlphaFeld.h
  12. class Text; // Tet.h
  13. class Schrift; // Schrift.h
  14. // Eine Zeichnung des 2D GUI Frameworks. Repräsentiert eine Box, aus der der Nutzer durch ausklappen verschiedene Werte auswählen kann
  15. class AuswahlBox : public ZeichnungHintergrund
  16. {
  17. public:
  18. class Style : public ZeichnungHintergrund::Style
  19. {
  20. public:
  21. const static __int64 FeldRahmen = 0x000001000; // Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Rahmen
  22. const static __int64 FeldHintergrund = 0x000002000; // Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Hintergrund
  23. const static __int64 FeldHBild = 0x000004000; // Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste ein Bild als Hintergrund
  24. const static __int64 FeldHAlpha = 0x000008000; // Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Transparenten Hintergrund
  25. const static __int64 FeldBuffer = 0x000010000; // Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen Farbübergang
  26. const static __int64 AuswahlHintergrund = 0x000020000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Hintergrund
  27. const static __int64 AuswahlHBild = 0x000040000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist ein Hintergrundbild
  28. const static __int64 AuswahlHAlpha = 0x000080000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen transparenten Hintergrund
  29. const static __int64 AuswahlBuffer = 0x000100000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Farbübergang
  30. const static __int64 AuswahlRahmen = 0x000200000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Rahmen
  31. const static __int64 MultiStyled = 0x000400000; // Wenn dieser Flag gesetzt ist, hat jeder Wert seine eigenen Hintergründe unt Rahmen und nicht alle die selben
  32. 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
  33. const static __int64 MausHintergrund = 0x008000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drau zeigt, einen Hintergrund
  34. const static __int64 MausHBild = 0x010000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, ein Hintergrundbild
  35. const static __int64 MausHAlpha = 0x020000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen transparenten Hintergrund
  36. const static __int64 MausBuffer = 0x040000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen Farbübergang
  37. const static __int64 MausRahmen = 0x080000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen Rahmen
  38. //const int NachObenAusklappen = 0x100000000;
  39. //const int AutoAusklappRichtung = 0x200000000;
  40. const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldRahmen | AuswahlBuffer | AuswahlRahmen | MaxHeight | VScroll | MausRahmen | MausBuffer; // Normaler Style: Sichtbar, Erlaubt, Rahmen, FeldRahmen, AuswahlBuffer, AuswahlRahmen, MaxHöhe, VScroll, MausRahmen, MausBuffer
  41. };
  42. private:
  43. Schrift *schrift;
  44. Array< __int64 > *msStyle;
  45. RCArray< TextFeld > *members;
  46. Knopf *ausfahren;
  47. Rahmen *auswRahmen;
  48. int auswBgF;
  49. Bild *auswBgB;
  50. AlphaFeld *auswAf;
  51. RCArray< Rahmen > *msAuswRahmen;
  52. Array< int > *msAuswBgF;
  53. RCArray< Bild > *msAuswBgB;
  54. RCArray< AlphaFeld > *msAuswAf;
  55. Rahmen *mausRahmen;
  56. int mausBgF;
  57. Bild *mausBgB;
  58. AlphaFeld *mausAf;
  59. RCArray< Rahmen > *msMausRahmen;
  60. Array< int > *msMausBgF;
  61. RCArray< Bild > *msMausBgB;
  62. RCArray< AlphaFeld > *msMausAf;
  63. int anzahl;
  64. int auswahl;
  65. bool ausgeklappt;
  66. int ausklappHeight;
  67. int ausklapMaxHeight;
  68. int eintragHeight;
  69. double tickval;
  70. int mausEintrag;
  71. bool scrollAnzeigen;
  72. void *eAkP;
  73. std::function< void( void *, AuswahlBox *, int, int ) > eAk;
  74. int ref;
  75. public:
  76. // Konstruktor
  77. __declspec( dllexport ) AuswahlBox();
  78. // Destruktor
  79. __declspec( dllexport ) virtual ~AuswahlBox();
  80. // Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Benutzer ein neues element auswählt
  81. // p: Der Parameter
  82. __declspec( dllexport ) void setEventParam( void *p );
  83. // Setzt die Rückruffunktion, die Aufgerufen wird, wenn der Benutzer ein neues Element auswählt
  84. // eAk: Die Rückruffunktion
  85. __declspec( dllexport ) void setEventAktion( std::function< void( void *, AuswahlBox *, int, int ) > event );
  86. // Setzt die verwendete Schrift
  87. // schrift: Die Schrift
  88. __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
  89. // Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag ist zu Beginn automatisch ausgewählt
  90. // txt: Der Text des Eintrags
  91. __declspec( dllexport ) void addEintrag( const char *txt );
  92. // Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag ist zu Beginn automatisch ausgewählt
  93. // txt: Der Text des Eintrags
  94. __declspec( dllexport ) void addEintrag( Text *txt );
  95. // Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag ist zu Beginn automatisch ausgewählt
  96. // txt: Ein Zeiger auf den Eintrag
  97. __declspec( dllexport ) void addEintragZ( TextFeld *txt );
  98. // Ändert den Text eines Eintrags
  99. // i: Der Index des Eintrags
  100. // txt: Der neue Text
  101. __declspec( dllexport ) void setEintrag( int i, const char *txt );
  102. // Ändert den Text eines Eintrags
  103. // i: Der Index des Eintrags
  104. // txt: Der neue Text
  105. __declspec( dllexport ) void setEintrag( int i, Text *txt );
  106. // Ändert einen Eintrag
  107. // i: Der Index des Eintrags
  108. // txt: Ein Zeiger auf den neuen Eintrag
  109. __declspec( dllexport ) void setEintragZ( int i, TextFeld *txt );
  110. // Löscht einen Eintrag
  111. // i: Der Index des Eintrags
  112. __declspec( dllexport ) void removeEintrag( int i );
  113. // Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der Liste verwendet wird
  114. // ausK: Der Knopf
  115. __declspec( dllexport ) void setAusklappKnopfZ( Knopf *ausK );
  116. // Setzt einen Zeiger auf einen Rahmen, der für einen bestimmten Eintrag benutzt wird
  117. // i: Der Index des Eintrags
  118. // rahmen: Der Rahemn
  119. __declspec( dllexport ) void setEintragRahmenZ( int i, Rahmen *rahmen );
  120. // Setzt die Farbe eines Rahmens, der für einen bestimmten Eintrag benutzt wird
  121. // i: Der Index des Eintrags
  122. // f: Die farbe im A8R8G8B8 Format
  123. __declspec( dllexport ) void setEintragRahmenFarbe( int i, int f );
  124. // Setzt die Breite eines Rahmens, der für einen bestimmten Eintrag benutzt wird
  125. // i: Der Index des Eintrags
  126. // rbr: Die Breite des Rahmens in Pixeln
  127. __declspec( dllexport ) void setEintragRahmenBreite( int i, int rbr );
  128. // Setzt eine Hintergrund Farbe, die für einen bestimmten Eintrag benutzt wird
  129. // i: Der Index des Eintrags
  130. // f: Die farbe im A8R8G8B8 Format
  131. __declspec( dllexport ) void setEintragHintergrundFarbe( int i, int f );
  132. // Setzt einen zeiger auf ein Hintergrund Bild, das für einen bestimmten Eintrag benutzt wird
  133. // i: Der Index des Eintrags
  134. // bgB: Das Hintergrund Bild
  135. __declspec( dllexport ) void setEintragHintergrundBildZ( int i, Bild *bgB );
  136. // Setzt ein Hintergrund Bild durch Kopieren, das für einen bestimmten Eintrag benutzt wird
  137. // i: Der Index des Eintrags
  138. // bgB: Das Hintergrund Bild
  139. __declspec( dllexport ) void setEintragHintergrundBild( int i, Bild *bgB );
  140. // Setzt einen zeiger auf einen Farbübergangn, der für einen bestimmten Eintrag benutzt wird
  141. // i: Der Index des Eintrags
  142. // af: Der Farbübergang
  143. __declspec( dllexport ) void setEintragAlphaFeldZ( int i, AlphaFeld *af );
  144. // Setzt dei Farbe eines Farbübergangns, der für einen bestimmten Eintrag benutzt wird
  145. // i: Der Index des Eintrags
  146. // afF: Die Farbe im A8R8G8B8 Format
  147. __declspec( dllexport ) void setEintragAlphaFeldFarbe( int i, int afF );
  148. // Setzt dei Stärke eines Farbübergangns, der für einen bestimmten Eintrag benutzt wird
  149. // i: Der Index des Eintrags
  150. // afSt: Die Stärke
  151. __declspec( dllexport ) void setEintragAlphaFeldStrength( int i, int afSt );
  152. // Setzt eienen Zeiger auf einen Rahmen, der bei dem ausgewählten Eintrag verwendet wird
  153. // rahmen: Der Rahmen
  154. __declspec( dllexport ) void setAuswRahmenZ( Rahmen *rahmen );
  155. // Setzt die Farbe eines Rahmens, der bei dem ausgewählten Eintrag verwendet wird
  156. // f: Die Farbe im A8R8G8B8 Format
  157. __declspec( dllexport ) void setAuswRahmenFarbe( int f );
  158. // Setzt die Breite eines Rahmens, der bei dem ausgewählten Eintrag verwendet wird
  159. // rbr: Die Breite in Pixeln
  160. __declspec( dllexport ) void setAuswRahmenBreite( int rbr );
  161. // Setzt die Hintergrund Farbe, die bei dem ausgewählten Eintrag verwendet wird
  162. // f: Die Farbe im A8R8G8B8 Format
  163. __declspec( dllexport ) void setAuswHintergrundFarbe( int f );
  164. // Setzt den Zeiger auf ein Hintergrund Bild, das bei dem ausgewählten Eintrag verwendet wird
  165. // bgB: Das Bild
  166. __declspec( dllexport ) void setAuswHintergrundBildZ( Bild *bgB );
  167. // Setzt ein Hintergrund Bild durch kopieren, das bei dem ausgewählten Eintrag verwendet wird
  168. // bgB: Das Bild
  169. __declspec( dllexport ) void setAuswHintergrundBild( Bild *bgB );
  170. // Setzt den Zeiger auf einen Farbübergang, der bei dem ausgewählten Eintrag verwendet wird
  171. // af: Der Farbübergang
  172. __declspec( dllexport ) void setAuswAlphaFeldZ( AlphaFeld *af );
  173. // Setzt die Farbe eines Farbübergangs, der bei dem ausgewählten Eintrag verwendet wird
  174. // afF: Die Farbe im A8R8G8B8 Format
  175. __declspec( dllexport ) void setAuswAlphaFeldFarbe( int afF );
  176. // Setzt die Stärke eines Farbübergangs, der bei dem ausgewählten Eintrag verwendet wird
  177. // afSt: Die Stärke
  178. __declspec( dllexport ) void setAuswAlphaFeldStrength( int afSt );
  179. // Setzt eienen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  180. // i: Der Index des Eintrags
  181. // rahmen: Der Rahmen
  182. __declspec( dllexport ) void setMsAuswRahmenZ( int i, Rahmen *rahmen );
  183. // Setzt die Farbe einens Rahmens, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  184. // i: Der Index des Eintrags
  185. // f: Die Farbe im A8R8G8B8 Format
  186. __declspec( dllexport ) void setMsAuswRahmenFarbe( int i, int f );
  187. // Setzt die Breite einens Rahmens, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  188. // i: Der Index des Eintrags
  189. // rbr: Die Breite in Pixeln
  190. __declspec( dllexport ) void setMsAuswRahmenBreite( int i, int rbr );
  191. // Setzt die Hintergrundfarbe, die bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  192. // i: Der Index des Eintrags
  193. // f: Die Farbe im A8R8G8B8 Format
  194. __declspec( dllexport ) void setMsAuswHintergrundFarbe( int i, int f );
  195. // Setzt eienen Zeiger auf eine Hintergrund Bild, das bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  196. // i: Der Index des Eintrags
  197. // bgB: Das Bild
  198. __declspec( dllexport ) void setMsAuswHintergrundBildZ( int i, Bild *bgB );
  199. // Setzt eien Hintergrund Bild durch kopieren, das bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  200. // i: Der Index des Eintrags
  201. // bgB: Das Bild
  202. __declspec( dllexport ) void setMsAuswHintergrundBild( int i, Bild *bgB );
  203. // Setzt eienen Zeiger auf einen Farbverlauf, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  204. // i: Der Index des Eintrags
  205. // af: Der Farbverlauf
  206. __declspec( dllexport ) void setMsAuswAlphaFeldZ( int i, AlphaFeld *af );
  207. // Setzt die Farbe eines Farbverlaufs, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  208. // i: Der Index des Eintrags
  209. // afF: Die Farbe im A8R8G8B8 Format
  210. __declspec( dllexport ) void setMsAuswAlphaFeldFarbe( int i, int afF );
  211. // Setzt die Stärke eines Farbverlaufs, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
  212. // i: Der Index des Eintrags
  213. // afSt: Die Stärke
  214. __declspec( dllexport ) void setMsAuswAlphaFeldStrength( int i, int afSt );
  215. // Setzt einen Zeiger auf einen Rahmen, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
  216. // rahmen: Der Rahmen
  217. __declspec( dllexport ) void setMausRahmenZ( Rahmen *rahmen );
  218. // Setzt die Farbe eines Rahmens, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
  219. // f: Die Farbe im A8R8G8B8 Format
  220. __declspec( dllexport ) void setMausRahmenFarbe( int f );
  221. // Setzt die Breite eines Rahmens, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
  222. // rbr: Die Breite des Rahmens in Pixeln
  223. __declspec( dllexport ) void setMausRahmenBreite( int rbr );
  224. // Setzt die Hintergrund Farbe, die bei dem Eintrag verwendet wird, auf den die Maus zeigt
  225. // f: Die Farbe im A8R8G8B8 Format
  226. __declspec( dllexport ) void setMausHintergrundFarbe( int f );
  227. // Setzt einen Zeiger auf ein Hintergrund Bild, das bei dem Eintrag verwendet wird, auf den die Maus zeigt
  228. // bgB: Das Bild
  229. __declspec( dllexport ) void setMausHintergrundBildZ( Bild *bgB );
  230. // Setzt ein Hintergrund Bild durch kopieren, das bei dem Eintrag verwendet wird, auf den die Maus zeigt
  231. // bgB: Das Bild
  232. __declspec( dllexport ) void setMausHintergrundBild( Bild *bgB );
  233. // Setzt einen Farbverlauf, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
  234. // af: Der Farbverlauf
  235. __declspec( dllexport ) void setMausAlphaFeldZ( AlphaFeld *af );
  236. // Setzt die Farbe eines Farbverlaufs, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
  237. // afF: Die Farbe im A8R8G8B8 Format
  238. __declspec( dllexport ) void setMausAlphaFeldFarbe( int afF );
  239. // Setzt die Stärke eines Farbverlaufs, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
  240. // afSt: Die Stärke
  241. __declspec( dllexport ) void setMausAlphaFeldStrength( int afSt );
  242. // Setzt einen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  243. // i: Der Index des Eintrags
  244. // rahmen: Der Rahmen
  245. __declspec( dllexport ) void setMsMausRahmenZ( int i, Rahmen *rahmen );
  246. // Setzt die Farbe eines Rahmes, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  247. // i: Der Index des Eintrags
  248. // f: Die Farbe im A8R8G8B8 Format
  249. __declspec( dllexport ) void setMsMausRahmenFarbe( int i, int f );
  250. // Setzt die Breite eines Rahmes, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  251. // i: Der Index des Eintrags
  252. // rbr: Die Breite in Pixeln
  253. __declspec( dllexport ) void setMsMausRahmenBreite( int i, int rbr );
  254. // Setzt die Hintergrund Farbe, die bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  255. // i: Der Index des Eintrags
  256. // f: Die Farbe im A8R8G8B8 Format
  257. __declspec( dllexport ) void setMsMausHintergrundFarbe( int i, int f );
  258. // Setzt einen Zeiger auf Hintergrund Bild, das bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  259. // i: Der Index des Eintrags
  260. // bgB: Das Bild
  261. __declspec( dllexport ) void setMsMausHintergrundBildZ( int i, Bild *bgB );
  262. // Setzt ein Hintergrund Bild durch kopieren, das bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  263. // i: Der Index des Eintrags
  264. // bgB: Das Bild
  265. __declspec( dllexport ) void setMsMausHintergrundBild( int i, Bild *bgB );
  266. // Setzt einen Zeiger auf einen Farbübergang, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  267. // i: Der Index des Eintrags
  268. // af: Der Farbverlauf
  269. __declspec( dllexport ) void setMsMausAlphaFeldZ( int i, AlphaFeld *af );
  270. // Setzt die Farbe einens Farbübergangs, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  271. // i: Der Index des Eintrags
  272. // afF: Die Farbe im A8R8G8B8 Format
  273. __declspec( dllexport ) void setMsMausAlphaFeldFarbe( int i, int afF );
  274. // Setzt die Stärke einens Farbübergangs, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
  275. // i: Der Index des Eintrags
  276. // afSt: Die Stärke
  277. __declspec( dllexport ) void setMsMausAlphaFeldStrength( int i, int afSt );
  278. // Wählt ein Element aus
  279. // i: Der Index des Elements
  280. __declspec( dllexport ) void setAuswahl( int i );
  281. // Klappt die Liste zum Auswählen aus
  282. __declspec( dllexport ) void ausklappen();
  283. // Klappt die Liste zum Auswählen ein
  284. __declspec( dllexport ) void einklappen();
  285. // Scrollt in der Liste zu einem bestimmten Eintrag
  286. // i: Der Index des Eintrags
  287. __declspec( dllexport ) void scrollZuEintrag( int i );
  288. // Setzt die maximale Ausklapp Höhe der Liste
  289. // maxHeight: Die maximale Höhe in Pixeln
  290. __declspec( dllexport ) void setMaxAuskappHeight( int maxHeight );
  291. // Setzt die Höhe der Einträge
  292. // height: Die Höhe in Pixeln
  293. __declspec( dllexport ) void setEintragHeight( int height );
  294. // Fügt Styles zu einem bestimmten Eintrag hinzu, falls der Flag MultiStyled gesetzt wurde
  295. // i: Der Index des Eintrags
  296. // abStyle: Der Style, der hinzugefügt werden soll
  297. __declspec( dllexport ) void addMsStyle( int i, __int64 abStyle );
  298. // Setzt Styles eines bestimmten Eintrags, falls der Flag MultiStyled gesetzt wurde
  299. // i: Der Index des Eintrags
  300. // abStyle: Der Style
  301. // add: 1, falls die Styles hinzugefügt werden sollen und 0, falls sie entfernt werden sollen
  302. __declspec( dllexport ) void setMsStyle( int i, __int64 abStyle, bool add );
  303. // Ersetzt die Styles eines bestimmten Eintrags, falls der Flag MultiStyled gesetzt wurde
  304. // i: Der Index des Eintrags
  305. // abStyle: Der neue Style
  306. __declspec( dllexport ) void setMsStyle( int i, __int64 abStyle );
  307. // Entfernt Styles von einem bestimmten Eintrag, falls der Flag MultiStyled gesetzt wurde
  308. // i: Der Index des Eintrags
  309. // abStyle: Der Style, der entfernt werden soll
  310. __declspec( dllexport ) void removeMsStyle( int i, __int64 abStyle );
  311. // Aktualisiert das Objekt. Wird vom Framework aufgerufen
  312. // tickVal: Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist
  313. // return: 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst
  314. __declspec( dllexport ) bool tick( double tickVal ) override;
  315. // Verarbeitet Maus Nachrichten
  316. // me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
  317. __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;
  318. // Verarbeitet Tastatur Nachrichten
  319. // me: Das Ereignis, was durch die Tastatureingabe ausgelößt wurde
  320. __declspec( dllexport ) void doTastaturEreignis( TastaturEreignis &te ) override;
  321. // Zeichnet das Objekt nach zRObj, falls es sichtbar ist
  322. // zRObj: Das Bild, in welches gezeichnet werden soll
  323. __declspec( dllexport ) void render( Bild &zRObj ) override;
  324. // Gibt den Index eines Eintrags zurück
  325. // txt: Der Text des Eintrags
  326. __declspec( dllexport ) int getEintragPos( const char *txt ) const;
  327. // Gibt den Index eines Eintrags zurück
  328. // txt: Der Text des Eintrags
  329. __declspec( dllexport ) int getEintragPos( Text *txt ) const;
  330. // Gibt den Text eines Eintrags zurück
  331. // i: Der Index des Eintrags
  332. __declspec( dllexport ) Text *getEintragText( int i ) const;
  333. // Gibt den Text eines Eintrags ohne erhöhten Reference Counter zurück
  334. // i: Der Index des Eintrags
  335. __declspec( dllexport ) Text *zEintragText( int i ) const;
  336. // Gibt einen Eintrag zurück
  337. // i: Der Index des Eintrags
  338. __declspec( dllexport ) TextFeld *getEintrag( int i ) const;
  339. // Gibt einen Eintrag ohne erhöhten Reference Counter zurück
  340. // i: Der Index des Eintrags
  341. __declspec( dllexport ) TextFeld *zEintrag( int i ) const;
  342. // Gibt den Index des Ausgewählten Eintrags zurück
  343. __declspec( dllexport ) int getAuswahl() const;
  344. // Gibt die Anzahl der Einträge zurück
  345. __declspec( dllexport ) int getEintragAnzahl() const;
  346. // Gibt zurück, ob die Liste gerade Ausgeklappt ist
  347. __declspec( dllexport ) bool istAusgeklappt() const;
  348. // Gibt die maximale Höhe der ausgeklappten Liste zurück
  349. __declspec( dllexport ) int getMaxHeight() const;
  350. // Gibt die Höhe eines Eintrags zurück
  351. __declspec( dllexport ) int getEintragHeight() const;
  352. // Gibt den Knopf zurück, der zum aus- und einklappen dr Liste verwendet wird
  353. __declspec( dllexport ) Knopf *getAusklappKnopf() const;
  354. // Gibt den Knopf ohne erhöhten Reference Counter zurück, der zum aus- und einklappen dr Liste verwendet wird
  355. __declspec( dllexport ) Knopf *zAusklappKnopf() const;
  356. // Gibt den Rahmen eines Eintrags zurück
  357. // i: Der Index des Eintrags
  358. __declspec( dllexport ) Rahmen *getEintragRahmen( int i ) const;
  359. // Gibt den Rahmen eines Eintrags ohne erhöhten Reference Counter zurück
  360. // i: Der Index des Eintrags
  361. __declspec( dllexport ) Rahmen *zEintragRahmen( int i ) const;
  362. // Gibt die Farbe eines Rahmens eines Eintrags im A8R8G8B8 Format zurück
  363. // i: Der Index des Eintrags
  364. __declspec( dllexport ) int getEintragRahmenFarbe( int i ) const;
  365. // Gibt die Breite eines Rahmens eines Eintrags zurück
  366. // i: Der Index des Eintrags
  367. __declspec( dllexport ) int getEintragRahmenBreite( int i ) const;
  368. // Gibt den Farbübergang eines Eintrags zurück
  369. // i: Der Index des Eintrags
  370. __declspec( dllexport ) AlphaFeld *getEintragAlphaFeld( int i ) const;
  371. // Gibt den Farbübergang eines Eintrags ohne erhöhten Reference Counter zurück
  372. // i: Der Index des Eintrags
  373. __declspec( dllexport ) AlphaFeld *zEintragAlphaFeld( int i ) const;
  374. // Gibt die Farbe eines Farbübergangs eines Eintrags im A8R8G8B8 Format zurück
  375. // i: Der Index des Eintrags
  376. __declspec( dllexport ) int getEintragAlphaFeldFarbe( int i ) const;
  377. // Gibt die Stärke eines Farbübergangs eines Eintrags zurück
  378. // i: Der Index des Eintrags
  379. __declspec( dllexport ) int getEintragAlphaFeldStrength( int i ) const;
  380. // Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurück
  381. // i: Der Index des Eintrags
  382. __declspec( dllexport ) int getEintragHintergrundFarbe( int i ) const;
  383. // Gibt das Hintergrund Bild eines Eintrags zurück
  384. // i: Der Index des Eintrags
  385. __declspec( dllexport ) Bild *getEintragHintergrundBild( int i ) const;
  386. // Gibt das Hintergrund Bild eines Eintrags ohne erhöhten Reference Counter zurück
  387. // i: Der Index des Eintrags
  388. __declspec( dllexport ) Bild *zEintragHintergrundBild( int i ) const;
  389. // Gibt den Rahmen zurück, der bei der Auswahl eines Eintrags verwendet wird
  390. __declspec( dllexport ) Rahmen *getAuswRahmen() const;
  391. // Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei der Auswahl eines Eintrags verwendet wird
  392. __declspec( dllexport ) Rahmen *zAuswRahmen() const;
  393. // Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei der Auswahl eines Eintrags verwendet wird
  394. __declspec( dllexport ) int getAuswRahmenFarbe() const;
  395. // Gibt die Breite des Rahmens zurück, der bei der Auswahl eines Eintrags verwendet wird
  396. __declspec( dllexport ) int getAuswRahmenBreite() const;
  397. // Gibt den Farbübergang zurück, der bei der Auswahl eines Eintrags verwendet wird
  398. __declspec( dllexport ) AlphaFeld *getAuswAlphaFeld() const;
  399. // Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der bei der Auswahl eines Eintrags verwendet wird
  400. __declspec( dllexport ) AlphaFeld *zAuswAlphaFeld() const;
  401. // Gibt die Farbe des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
  402. __declspec( dllexport ) int getAuswAlphaFeldFarbe() const;
  403. // Gibt die Stärke des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
  404. __declspec( dllexport ) int getAuswAlphaFeldStrength() const;
  405. // Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück, die bei der Auswahl eines Eintrags verwendet wird
  406. __declspec( dllexport ) int getAuswHintergrundFarbe() const;
  407. // Gibt das Hintergrundbild zurück, das bei der Auswahl eines Eintrags verwendet wird
  408. __declspec( dllexport ) Bild *getAuswHintergrundBild() const;
  409. // Gibt das Hintergrundbild ohne erhöhten Reference Counter zurück, das bei der Auswahl eines Eintrags verwendet wird
  410. __declspec( dllexport ) Bild *zAuswHintergrundBild() const;
  411. // Gibt den Rahmen zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  412. // i: Der Index des Eintrags
  413. __declspec( dllexport ) Rahmen *getMsAuswRahmen( int i ) const;
  414. // Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  415. // i: Der Index des Eintrags
  416. __declspec( dllexport ) Rahmen *zMsAuswRahmen( int i ) const;
  417. // Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  418. // i: Der Index des Eintrags
  419. __declspec( dllexport ) int getMsAuswRahmenFarbe( int i ) const;
  420. // Gibt die Breite des Rahmens zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  421. // i: Der Index des Eintrags
  422. __declspec( dllexport ) int getMsAuswRahmenBreite( int i ) const;
  423. // Gibt den Farbübergang zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  424. // i: Der Index des Eintrags
  425. __declspec( dllexport ) AlphaFeld *getMsAuswAlphaFeld( int i ) const;
  426. // Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  427. // i: Der Index des Eintrags
  428. __declspec( dllexport ) AlphaFeld *zMsAuswAlphaFeld( int i ) const;
  429. // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  430. // i: Der Index des Eintrags
  431. __declspec( dllexport ) int getMsAuswAlphaFeldFarbe( int i ) const;
  432. // Gibt die Stärke des Farbübergangs zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  433. // i: Der Index des Eintrags
  434. __declspec( dllexport ) int getMsAuswAlphaFeldStrength( int i ) const;
  435. // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  436. // i: Der Index des Eintrags
  437. __declspec( dllexport ) int getMsAuswHintergrundFarbe( int i ) const;
  438. // Gibt das Hintergrund Bild zurück, das bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  439. // i: Der Index des Eintrags
  440. __declspec( dllexport ) Bild *getMsAuswHintergrundBild( int i ) const;
  441. // Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, das bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
  442. // i: Der Index des Eintrags
  443. __declspec( dllexport ) Bild *zMsAuswHintergrundBild( int i ) const;
  444. // Gibt den Rahmen zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  445. __declspec( dllexport ) Rahmen *getMausRahmen() const;
  446. // Gibt den Rahmen ohne erhöhten Reference Counter zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  447. __declspec( dllexport ) Rahmen *zMausRahmen() const;
  448. // Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  449. __declspec( dllexport ) int getMausRahmenFarbe() const;
  450. // Gibt die Breite des Rahmens zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  451. __declspec( dllexport ) int getMausRahmenBreite() const;
  452. // Gibt den Farbübergang zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  453. __declspec( dllexport ) AlphaFeld *getMausAlphaFeld() const;
  454. // Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  455. __declspec( dllexport ) AlphaFeld *zMausAlphaFeld() const;
  456. // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  457. __declspec( dllexport ) int getMausAlphaFeldFarbe() const;
  458. // Gibt die Breite des Farbübergangs zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
  459. __declspec( dllexport ) int getMausAlphaFeldStrength() const;
  460. // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, wenn die Maus auf einen Eintrag zeigt
  461. __declspec( dllexport ) int getMausHintergrundFarbe() const;
  462. // Gibt das Hintergrund Bild zurück, das verwendet wird, wenn die Maus auf einen Eintrag zeigt
  463. __declspec( dllexport ) Bild *getMausHintergrundBild() const;
  464. // Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, das verwendet wird, wenn die Maus auf einen Eintrag zeigt
  465. __declspec( dllexport ) Bild *zMausHintergrundBild() const;
  466. // Gibt den Rahmen zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
  467. // i: Der Index des Eintrags
  468. __declspec( dllexport ) Rahmen *getMsMausRahmen( int i ) const;
  469. // 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
  470. // i: Der Index des Eintrags
  471. __declspec( dllexport ) Rahmen *zMsMausRahmen( int i ) const;
  472. // 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
  473. // i: Der Index des Eintrags
  474. __declspec( dllexport ) int getMsMausRahmenFarbe( int i ) const;
  475. // Gibt die Breite des Rahmens zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
  476. // i: Der Index des Eintrags
  477. __declspec( dllexport ) int getMsMausRahmenBreite( int i ) const;
  478. // Gibt den Farbübergang zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
  479. // i: Der Index des Eintrags
  480. __declspec( dllexport ) AlphaFeld *getMsMausAlphaFeld( int i ) const;
  481. // 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
  482. // i: Der Index des Eintrags
  483. __declspec( dllexport ) AlphaFeld *zMsMausAlphaFeld( int i ) const;
  484. // 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
  485. // i: Der Index des Eintrags
  486. __declspec( dllexport ) int getMsMausAlphaFeldFarbe( int i ) const;
  487. // Gibt die Stärke des Farbübergangs zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
  488. // i: Der Index des Eintrags
  489. __declspec( dllexport ) int getMsMausAlphaFeldStrength( int i ) const;
  490. // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
  491. // i: Der Index des Eintrags
  492. __declspec( dllexport ) int getMsMausHintergrundFarbe( int i ) const;
  493. // Gibt das Hintergrund Bild zurück, das bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
  494. // i: Der Index des Eintrags
  495. __declspec( dllexport ) Bild *getMsMausHintergrundBild( int i ) const;
  496. // 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
  497. // i: Der Index des Eintrags
  498. __declspec( dllexport ) Bild *zMsMausHintergrundBild( int i ) const;
  499. // Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein bestimmter Style gesetzt wurde
  500. // i: Der Index des Eintrags
  501. // abStyle: Der Style
  502. __declspec( dllexport ) inline bool hatMsStyle( int i, __int64 abStyle ) const;
  503. // Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein bestimmter Style nicht gesetzt wurde
  504. // i: Der Index des Eintrags
  505. // abStyle: Der Style
  506. __declspec( dllexport ) inline bool hatMsStyleNicht( int i, __int64 abStyle ) const;
  507. __declspec( dllexport ) Zeichnung *dublizieren() const override; // Erzeugt eine Kopie des Zeichnungs
  508. // Erhöht den Reference Counting Zähler.
  509. // return: this.
  510. __declspec( dllexport ) AuswahlBox *getThis();
  511. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
  512. // return: 0.
  513. __declspec( dllexport ) AuswahlBox *release();
  514. };
  515. }
  516. #endif