Почему не работает ComboBox в CDialog?
От: ymax  
Дата: 07.10.09 15:09
Оценка:
Я новичок в области MFC. Читаю книжку и натолкнулся на непонятное явление.
имеем класс диалога, автоматом сгенеренный студией (на основе ресурса):

class rrr : public CDialog
{
  DECLARE_DYNAMIC(rrr)

public:
  rrr(CWnd* pParent = NULL);   // standard constructor
  virtual ~rrr();

// Dialog Data
  enum { IDD = IDD_DIALOG1 };

protected:
  virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

  DECLARE_MESSAGE_MAP()
public:
  CString m_val;
  CComboBox m_cb;
};


на самом диалоге находятся Edit и ComboBox
для них созданы переменные m_val и m_cb

в обработчике основного окна:
void cMyWnd::OnLButtonDown(UINT, CPoint)
{
    rrr tmprr(this);
    tmprr.m_val = "текст1";
    tmprr.m_cb.AddString("текст2"); // !!! Здесь студия выдает ошибку ассерта
    tmprr.DoModal();
};

собственно в результате в диалоге в Edit находится "текст1", а ComboBox — пустой. Вопрос: почему он пустой? как тогда передавать значения для ComboBox снаружи?

PS студия 2008
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.