Announcement

Collapse
No announcement yet.

TComboBox HTML like?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TComboBox HTML like?

    Hallo zusammen,

    ich würde gerne eine Combobox, oder ähnliches, wie in einem HTML Listenfeld darstellen, d.h. ich benötige die Strings UND die Indizes in der Combobox. Bsp.:

    DE Deutschland
    ES Spanien

    Der Benutzer soll deutschland, Spanien etc. sehen und auswählen können, ich benötige aber nach der Auswahl die Werte DE, ES usw.

    Bei den Items kann ich aber nur jeweils einen String reinschreiben. das sollte doch irgendwie gehen ... Jemand vielleicht eine Idee?

    Manfred

  • #2
    Dafür benötigst du keine ComboBox. Du mußt nur wissen welche ID welchem Kürzel entspricht.

    Ansonsten: TELHtmlComboBox

    Comment


    • #3
      Das ist ja richtig, aber ich muß mir ja, wenn z.B. Deutschland ausgewählt wurde (was dann in den Strings an Position x steht) wissen, daß dazu DE gehört, weil ich eben nur das DE abspeichere - das Deutschland interessiert mich eigentlich nicht, ist nur für den benutzer gedacht.

      Comment


      • #4
        Du mußt nur eine passende Referenzliste mit den Abkürzungen und gleicher Sortierung haben und dann mit dem ItemIndex der ComboBox das entsprechende Item auslesen.

        Comment


        • #5
          Ist das echt so kompliziert? Ich habe ein Formular mit ca. 30 von diesen Auswahllisten. Und wie soll ich die Referenzliste erstellen? Geht das nicht echt einfacher, so wie in HTML?

          Oder muß ich einen ganz anderen Ansatz gehen? Ich versuche mal zu erkläre:

          Ich habe ein Formular das ich aufbauen will. Die Formularfelder kommen aus einer Datenbank und können sich jederzeit ändern (dazukommen, verschwinden, Format ändern) also muß ich die VCL Komponenten schon dynamisch aufbauen, ist ja auch kein Problem. Habe mir ne eigene Klasse KAttribut geschrieben, die zu jedem Feld die Formatvorgaben einschließlich 'altem' Wert enthält und natürlich auch zeiger auf Comboboxen, tEdit etc.

          Jetzt habe ich aber, wie gesagt, das Problem, daß es Felder Gibt die Auswahllisten zur verfügung stellen und ich weiß nicht wie ich das da reinbringen soll.

          Falls es einen ganz anderen Ansatz gibt, gerne!

          thx schon mal

          Manfred

          Comment


          • #6
            Du legst die Einträge in eine TStringList mit Deutschlan=DE usw. ab.

            Auf die Elemente in der StringList kannst du mit Names und Value zugreifen.

            Die Combobox füllst du dann mit den Names aus der StringList. Da dann der Index der ComboBox und der StringList übereinstimmen, kannst du im Falle einer Auswahl auf den Index der StringList zugreifen und den Value holen.

            Und nein, die Standardcombobox hat nichts anderes, es geht nicht einfacher
            Christian

            Comment


            • #7
              Nun wenn das nicht anders geht dann mach ich das eben mit der TStringList. Danke für den Hinweis.

              Leider steht in meiner Hilfe (C++ Builder 2007) bei Names und Values nur
              "Das ist Names, ein Mitglied der Klasse TStrings" bzw.
              "Das ist Values, ein Mitglied der Klasse TStrings".

              Sind wohl beides Arrays, wie ich annehme?! Wie krieg ich da denn was rein? TStringList->Names->Add() ? oder aber
              TStringList->Names[0] = "Ein Name"?

              Danke schon mal vorab

              Manfred

              Comment


              • #8
                Wie üblich

                TStringList ->Add(Deutschland=DE);

                Wichtig ist der Trenner "="
                Christian

                Comment


                • #9
                  Na da danke ich doch recht herrzlich!

                  Iss ja echt krass *kopfschüttel*

                  Und der erste Add-Aufruf schreibt dann Deutschland nach Names[0] und DE nach Values[0] und wenn ich danach ein ComboBox1->Items->Add("Deutschland") mache habe ich die Verknüpfung der Referenzliste mit der ComboBox über den ItemIndex!!??

                  Da hätte man doch auch gleich das Names und Values in die ComboBox integrieren können! Na ja so schein es jeden falls zu funzen .......

                  Dank Dir nochmals

                  Manfred

                  Comment


                  • #10
                    Originally posted by MJordan View Post
                    Da hätte man doch auch gleich das Names und Values in die ComboBox integrieren können! Na ja so schein es jeden falls zu funzen .......
                    Dann mach es doch und leide deine eigene ComboBox-Klasse von TComboBox ab und implementiere das. Die von Borland bereitgestellten Klassen sind primäre Wrapper um die entsprechenden WinAPi-Controls und da in der WinAPI dies nicht vorgesehen ist ...

                    Comment


                    • #11
                      ...... ja ist ja schon okay, wollte mich nur mal ein wenig eschoffieren, weil ich es mir eben nicht einfach machen kann.

                      Comment

                      Working...
                      X