![]() |
|
|
![]()
|
|
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
доброго времени суток.
есть комбобокс, который заполняется в цикле:
в мапе есть элементы. внутри цикла все нормально. y != CB_ERR, при чтении y = list.GetItemData(i); возвращает то что надо. а вот yyyy уже равен 0. У меня уже моск взрывается, готов поверить в чудо. где и как CComboBox может прохерить записанные данные? как вдарить ему посильнее, чтоб он этого не делал? Это сообщение отредактировал(а) 17dufa - 7.8.2009, 17:59 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Ну, во первых ты делаешь не совсем корректно.
Совсем не факт, что AddString вставляет именно i-ю строку (например, если комбобокс сортированный). Т.е. нужно делать так: iPos = list.AddString(), а потом этот iPos использовать в SetItemData. Но проблема у тебя, похоже, не в этом. Ты весь код функции привел, буз купюр? Явно какая-то глупая ошибка, причем не здесь (здесь вроде все нормально, кроме вышеупомянутого момента). Не похоже, что комбобокс теряет даннные (с чего бы это). Больше похоже, что ты таки пишешь 0 в нулевой элемент в какой-то момент... -------------------- ... |
|||
|
||||
| 17dufa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
Earnest, благодарю. заменил
на
и все починилось. Похоже он и правда отсортированный и каким-то элементам SetData выполнялся несколько раз, а каким-то соответственно ни разу. Повезло, что нулевой попал в эти ни разу, а то я бы эту ошибку никогда не заметил. |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Если тебе сортировака не нужна, ее можно отключить (в свойствах в редакторе ресурсов или просто стиль отшибить). В любом случае лучше пользоваться не InsertString, а AddString, но получать номер вставленной строки.
Этот код работает всегда, независимо от сортировки, а InsertString может испортить тебе сортировку в списке. -------------------- ... |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
Earnest, уговорила, черт языкастый
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |