Когда нужно инициализовать контрол в диалоге
От: Wallrunner  
Дата: 25.08.06 21:03
Оценка:
Всем привет.

Я новичок в MFC и скорее всего вопрос такой задавался, но я не знаю как нормально сформулировать поисковый запрос, поэтому решил написать пост.
Дело в том что я создал в своем проекте диалог и поместил туда ComboBox. Затем создал член класса, типа CComboBox в классе диалога.
При загрузке диалога мне нужно инициализировать комбо бокс некоторыми значение из БД. Но при попытке сделать это вызовом CComboBox::AddString() в конструкторе диалога или же в методе OnInitDialog() прога выдает assertion failed, причем не совсем понятно что ей не нравится, по-моему пустой hWnd в объекте контрола. При этом если добавить обработчик OnPaint() и сделать инициализаию там то все проходит нормально. Но мне этот способ не нравится, потому как он кривоватый — каждый раз при перерисовке диалога надо проверять не был ли контрол уже проинициализирован. Т.е. я не могу инициализировать контрол до появления окна. Так что хотел бы спросить когда (в обработчике какого события) нужно инициализировать контролы?

Да кстати, на этом диалоге у меня также есть EditBox и для него поставлен тип CString и он отлично инициализируется в конструкторе класса строковым значением, однако если его превратить в контрол то возникает та же история.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.