Jeg har lavet et popup dialog i et program. Hvor der blandet andet indgår en combobox hvor man skulle kunne vælge "1" el. "2". Jeg har lavet dialogen via Recources i Visual C++. Til dialogen har jeg jeg oprettet en class hvor jeg har nedarvet fra CDialog. Problemmet er at jeg ikke kan få sat de to tal ind. Da jeg åbentbart skal bruge en CWnd pointer til at få adgang til den. Nogen der kan hjælpe med hvordan jeg sætter de to tal ind og evt. hvordan jeg læser den igen bagefter når ::OnOK bliver kørt.
CComboBox *cb = (CComboBox *)GetDlgItem(MY_COMBO_BOX); ASSERT(cb); int selected = cb->GetCurSel(); if(selected != LB_ERR) { // Brugeren har valgt text index "selected" }
Der kommer ikke nogen fejl meddelser, men der kommer heller ikke noget ind i comboboxen, så helt virker det ikke. Jeg ved ikke om det kan have noget med den Styles jeg har sat op. Jeg ville gerne have at det virkede som en drop list. Så der ikke var mulighed for at ændre i variablerne.
Det burde virke, har du prøvet at trykke på den lille pil ned til højre i combobox'en, sker der noget? Eller trykke pil op/ned mens comboboxen har fokus. Du kan evt prøve at se hvad retur værdien for kaldet til AddString er. Og/eller tilføje: cb->SelectString(-1, "1"); efter kaldet til AddString(); (hvis du har tilføjet strengen "1"). Skulle dette fejle kunne du prøve at sende den linie fra .rc filen hvor combobox'en defineres.
Det har jeg også gjort, dog ikke via ClassWizard, da jeg syntes den laver for meget man ikke kan se hvad er. JEg kan bedre lide at skrive min klasser fra bunden.
Hvis de to værdier er faste dvs skal være i ComboBox'en altid, så gør det via properties på den combobox... i flappen som hedde values (tror jeg nok) du kan skrive 1 og tryk ctrl+enter så kommer du ned til den næste linje.. skriv 2 .. osv.
Hvis det virker med piletasterne kunne det tyde på at din combobox er for lille. Den størrelse der angives er størrelsen når combobox'en er "foldet ud".
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.