Jak mogę uzyskać wartość (ciąg) z bieżącego wyboru w combobox?Jak mogę uzyskać wartość (ciąg) z bieżącego wyboru w combobox?
(Nie indeks całkowita)
Jak mogę uzyskać wartość (ciąg) z bieżącego wyboru w combobox?Jak mogę uzyskać wartość (ciąg) z bieżącego wyboru w combobox?
(Nie indeks całkowita)
Nie może być lepszy sposób (mój MFC jest nieco zardzewiały), ale wydaje się, że powinien być w stanie zadzwonić CComboBox::GetLBText()
, przekazując jej bieżące zaznaczenie używając CComboBox::GetCurSel()
.
Użyj GetLBText, przekazując indeks i obiekt CString.
edytowanie: za wolno!
CB_GETCURSEL
powrót indeksu Integer CB_GETLBTEXT
powraca ciąg na CB_GETCURSEL
zwykły starych GetWindowText
roboty, też.
Edit: punktów ajryan się, GetWindowText
faktycznie nie pracę w CBN_SELCHANGE
obsługi, ponieważ nowy wybór dokonało ale tekst okno nie zostało zaktualizowane z tekstem nowego zaznaczenia, gdy WM_COMMAND
zostaje wysłany.
Nie w ON_CBN_SELCHANGE –
Hmmm. Wygląda na to, że masz rację. Chyba nigdy wcześniej tego nie próbowałem. Trochę zaskakujące, ponieważ zazwyczaj istnieje powiadomienie "zmieniające", zanim zmiany zostaną zatwierdzone i "zmienione" powiadomienie na później, ale wydaje się, że nie ma to miejsca w przypadku pól złożonych. – Joel
Hmm, to działa. Dzięki –
Prawdopodobnie mówisz "Hmm", ponieważ próbujesz zobaczyć nową wartość w procedurze CBN_SELCHANGE. To jest wyzwalane/przed/zmiana jest zatwierdzana, ale GetLBText ma już dostęp w tym momencie .. –