Здравствуйте, ymax, Вы писали:
Y>в обработчике основного окна: Y>[ccode] Y>void cMyWnd::OnLButtonDown(UINT, CPoint) Y>{ Y> rrr tmprr(this); Y> tmprr.m_val = "текст1"; Y> tmprr.m_cb.AddString("текст2"); // !!! Здесь студия выдает ошибку ассерта
В этот момент собственно Windows-окна ни диалога, ни, тем более ComboBox-a, еще не существует Y> tmprr.DoModal();
Они создадутся в DoModal.
Если нужно заполнить комбик извне, то возможно применить след.варианты:
1) В классе диалога rrr создать коллекцию строк (+, возможно, ассоциированную коллекцию числовых значений), проинициализировать ее/их или в конструкторе, или вызовом специального метода типа rrr::AddString(CString& str). Собственно комбик заполнить в rrr::OnInitDialog;
2) Создать собственный сабкласс от CComboBox, который будет хранить всю информацию о комбике. Заполнить его любым доступным способом (конструктор, метод инициализации), а потом также в rrr::OnInitDialog вызвать собственный метод по инициализации уже окна ComboBox.