Segmented Control Widget

Startseite Foren Deutsches LiveCode-Forum Segmented Control Widget

Schlagwörter: 

  • Dieses Thema hat 3 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahre von Gue..
Ansicht von 2 Antwort-Themen
  • Autor
    Beiträge
    • #24292
      Gue.
      Teilnehmer

      Eine kurze Frage eines LC Neulings:

      Ich habe ein Segmented Control Widget „Deutsch/Englisch“.

      Wie lautet der Programm-Code um beim Antippen von „Englisch“ auf eine neue card zu kommen?

      Im Voraus besten Dank für eure Hilfestellung.

    • #24306
      Klaus Major
      Verwalter

      Hi Gue,

      willkommen im Forum!

      Da gibt es ein paar Möglichkeiten, je nach Vorraussetzungen.

      1. Wenn Deine Karten genau so wie die -> itemnames des Widgets heissen,
      kannst Du einfach das hier machen:

      on hiliteChanged
         go cd (the hiliteditems of me)
      end hiliteChanged

      2. Wenn das nicht der Fall ist, musst Du mit SWITCH arbeiten.
      Geht auch mit X IF THEN Abfragen, aber in solchen Fällen ist SWITCH einfach übersichtlicher!

      on hiliteChanged
         put the hilitedItemNames of me into tUserAuswahl
         switch tuserAuswahl
            case "item1"
               go cd "wasauchimmer"
               break
            case "item2"
               go cd "ein andere Karte"
               break
               ## etc. für jedes Segment.
         end switch
      end hiliteChanged

      Option 1 ist immer vorzuziehen, denn eine geschickte Namensgebung ist die halbe (Programmier-) Miete. 🙂

      Gruß

      Klaus

      • #24349
        Gue.
        Teilnehmer

        Hi Klaus, vielen Dank für deine prompte Hilfestellung und die beiden Optionen; sehr hilfreich.

    • #24352
      Gue.
      Teilnehmer

      Option 1 hat mit „hiliteditemNames“ bestens geklappt:

      on hiliteChanged
         go cd (the hiliteditemNames of me)
      end hiliteChanged
      

      Nochmals besten Dank.

Ansicht von 2 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.