![]() |
DelphiX - Menü
hi,
ich bin gerade dabei ein Menü zu konstuieren. So weit ist alles klar (außer das ich auf die Grafiken warte), ein Problem hab ich da aber noch: Wir machen das menü so, dass man es nur mit Tasten steuern kann. Aus der Überlegung ist das sehr leicht, aber als ich vorhin anfangen wollte, hatte ich keine Idee, wie ich das realisieren könnte. Also als Beispiel: Wir haben drei Bitmaps übereinander. Das oberste ist ausgewählt. Wenn ich jetzt auf den Pfeiltasten auf Unten drücke, dann wird das Bild in der Mitte ausgewählt. Wenn ich nach oben drücke, dann wird das unterste ausgewählt. Weiß jemand, wie sich so etwas umsetzten lässt? Viellecht mit Arrays. Danke schon mal im Vorraus. -homer- ps.: das ganze natürlich in DelphiX |
Re: DelphiX - Menü
Hallo Homer,
nein, Arrays brauchst du nicht. Leg erstmal eine Globale Variable an, sagen wir mal "Auswahl" und zwar als Integer. Darin speicherst du dann welcher Button gerade ausgewählt ist. Wenn jetzt die "Nach-Unten"Taste gedrückt wird, dann mach folgendes:
Delphi-Quellcode:
wobei du die 10 durch die Anzahl der Buttons ersetzt. Wenn du jetzt den letzten Button ausgewählt hast und nach unten drückst, wird wieder der erste ausgewählt.
Auswahl:=(Auswahl+1) mod 10
Entsprechend für dee "Nach-oben"-Taste:
Delphi-Quellcode:
Beachte, dass Auswahl so immer Werte zwischen 0 und 9 hat (wichtig: der oberste Button hat also die Nummer 0).
Auswahl:=(Auswahl-1) mod 10
Nun musst du beim zeichnen der Buttons nur noch berücksichtigen, dass der, den Auswahl angibt irgendwie anders gezeichnet wird (Auswahlrahmen oder bunt oder so). Grüße Seniman |
Re: DelphiX - Menü
hi,
danke Seniman. -homer- ps.: So eifach kanns gehen. :mrgreen: |
Re: DelphiX - Menü
hi,
so weit klappt es. Aber, wenn ich bei meinem oberstenbild angekommen bin und dann auf die Taste VK_UP (nach oben) drücke, dann passiert nichts. Eigentlich sollte dann wieder das unterste Bild ausgewählt werden. Wo liegt der Fehler? -homer- ps.: Wenn das unterste ausgewählt ist und ich die VK_DOWN Taste drücke, dann klappt es (das oberste wird ausgewählt). |
Re: DelphiX - Menü
Hallo Homer,
dann probier statt
Delphi-Quellcode:
einfach mal
Auswahl:=(Auswahl-1) mod 10
Delphi-Quellcode:
aus. Die 9 ist die Anzahl der Buttons minus 1.
Auswahl:=(Auswahl+9) mod 10
Grüße Seniman |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz