GadgetID ??
Übersicht

![]() |
ThommesBetreff: GadgetID ?? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich komme von der Amiga-Schiene (Gott hab sie Seelig)...
Da wurde ich von BB verwöhnt. Es gab das schöne Amiga-Strukturen-Lexikon in dem so gut wie alles stand. Alle Ereignisse konnte man über Systemroutinen bis in´s kleinste abfragen und kontrollieren. Und genau hier liegt das Problem. Wenn ich in einer Schleiffe ein paar Gadgets erstelle .... For i = 1 To 6 For j = 1 To 8 nr = Int(Str$(i)+Str$(j)) button(nr)=CreateButton("",50+j*60,20+i*25,50,20,can,1) Next Next ... denkt euch mal das passende Window und die Zuweisungen zum Canvas etc... Wenn ich dann die Gadgets über eine Select EventSource() auswerten möchte, so muss ich das einzeln machen? Oder gibt es die Möglichkeit die in der Schleiffe zugewiesene ID "button(nr) herauszubekommen, wenn es angeklickt wurde? Bei BB-Amiga gab es eine Möglichkeit eine GadgetID auszulesen. Ich bedanke mich schon mal für die tausend richtigen Antworten... MfG.. Thommes |
||
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
verschoben nach gui.. | ||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
hmm. eigentlich doch simpel. Mach halt kein Select EventSource sondern eine For Schleife, die alle Buttons durchgeht und dabei die EventSource mit dem Buttonhandle vergleicht (in deinem Fall button(nr)). Oder anders gesagt: CreateButton liefert den Handle, also die ID des Buttons zurück. Hoffe es hilft. MfG |
||
![]() |
Thommes |
![]() Antworten mit Zitat ![]() |
---|---|---|
... ist der gleiche effekt wie bei SelectEvent...
Ich wollte die Sache bei ca. 130 Gadgets abkürzen. Die Anweisungen ähneln sich ei den Funktionen sehr. Es wird überprüft, welches Gadget angeklickt wurde, dann wird anhand der ID diese Gadget ein Wert (DIMeinsionierte Variable mit eben der gleichen ID) übermittelt und dann das Gadget abgeschaltet. Wenn ich das beim BB-Amiga gemacht habe, wurde mir die ID des angeklickten Gadgets übermittelt, so das ich keine weitere Abfrage benötigte. Dann braucht man keine If GadgetID..... dann tu das... Anweisungen tausend mal schreiben, sondern das sah dann so aus: ID = GadgetID, Gadget(ID) wurde angeklickt, wert(ID) an Funktion übergeben und bearbeiten, Gadget(ID) abschalten... fertig. Ich habe das jetzt mit einer Selevt - Case Anweisung gemacht, aber das sind dann pro Gadget ca. 8 Zeilen (mit IF, Then, EndIF....) und macht so aus einem kleinen Spielchen mal eben ein 1800-Zeilen Bolieden... Es läuft zwar, aber zufrieden bin ich nicht!! Trotzdem danke ann alle Helferlein... ..nächtelanges coden wünscht Thommes |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, das kannst du doch auch mit BB so machen:
Code: [AUSKLAPPEN] ID = EventSource() BearbeietGadget(ID) Function BearbeiteGadget() SchalteGadgetab Mach noch etwas anderes end Function oder verstehe ich etwas falsch?? ![]() |
||
![]() |
Thommes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schwere Dinge können manchmal so einfach sein, wenn ein netter Mensch einen mit der Nase draufdrückt. Wenn das funktioniert (was ich bereits glaube) werde ich Dich in meinem Progrämmchen auf immer Verewigen (wenn´s Recht ist!?).
Thanx... So macht es Spass!! MfG... Thommes http://www.t.carstens.de.vu |
||
![]() |
Thommes |
![]() Antworten mit Zitat ![]() |
---|---|---|
... habs gerade ausprobiert.
Es funktioniert tatsächlich, kann ich aber aus anderen Gründen leider nicht anwenden. Schade, aber im nächsten Proggi werd ich schlauer sein. Noch mal Danke für die Hilfe!! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group