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