Problem mit Combobox füllen



  • Hallo,

    ich stehe vor folgendem PRoblem. Ich habe einen Dialog und darin 5 Comboboxen. Diese möchte ich nun füllen. Leider stecke ich da fest. Ich habe z.B. fogendes definiert:

    enum HardwareType
    {
            ISA_1CH	= 0,		// ISA 1 Channel
    	ISA_2CH = 1,		// ISA 2 Channels
    	PCI_1CH = 2,		// PCI 1 Channel
    	PCI_2CH = 3,		// PCI 2 Channels
    	PCC_1CH = 4,		// PCC 1 Channel
    	PCC_2CH = 5,		// PCC 2 Channels
    	USB		= 6,		// USB
    	DNP		= 7,		// DONGLE PRO
    	DNG		= 8,		// DONGLE
    };
    

    ich würde nun gerne mit diesen Daten eine Combobox füllen. Ich möchte aber nicht jede einzelenen eintrag einzeln in die Comboboxen mit AddString("ISA"); usw. eintragen.

    Wie gesagt, ich stecke da irgendwie fest. Wäre toll, wenn mir dajemand weiterhelfen könnte.

    Gruß
    Sven



  • Ich möchte aber nicht jede einzelenen eintrag einzeln in die Comboboxen mit AddString("ISA"); usw.

    Mir ist keine Alternative bekannt. 😕



  • ABeginner schrieb:

    ich würde nun gerne mit diesen Daten eine Combobox füllen. Ich möchte aber nicht jede einzelenen eintrag einzeln in die Comboboxen mit AddString("ISA"); usw. eintragen.

    Sondern?


  • Mod

    ABeginner schrieb:

    enum HardwareType
    {
            ISA_1CH	= 0,		// ISA 1 Channel
    	ISA_2CH = 1,		// ISA 2 Channels
    	PCI_1CH = 2,		// PCI 1 Channel
    	PCI_2CH = 3,		// PCI 2 Channels
    	PCC_1CH = 4,		// PCC 1 Channel
    	PCC_2CH = 5,		// PCC 2 Channels
    	USB		= 6,		// USB
    	DNP		= 7,		// DONGLE PRO
    	DNG		= 8,		// DONGLE
    };
    

    ich würde nun gerne mit diesen Daten eine Combobox füllen. Ich möchte aber nicht jede einzelenen eintrag einzeln in die Comboboxen mit AddString("ISA"); usw. eintragen.

    Du hast hier das grundsätzliches Problem angesprochen, wie interne Einstellungsdaten einem Anwender dargeboten werden. Dazumusst Du nun eben auch "human readable" strings verwenden, außer der Anwender weiß immer das 7=DNP ist.

    Aso baust Du Dir am besten eine struct Array auf, die den Klartext und diese ID als Inhalt hat, oder noch besser eine Ressource ID von der der Text dann geladen werden kann.

    struct {
    UINT m_uiText;
    HardwareType m_eType;
    } asDefs[] =
    {
    ...
    };

    Nun lässt Du eine Schleife über diesen Array laufen und lädst den Text in die Combo. Gleichzeitig verwendest Du SetItemData um den enum Wert dort einzutragen. Dnan kanst Du driekt aus der Benutzerauswahl den entsprechende enum-Wert aus der Combobox auslesen.


Anmelden zum Antworten