Действительно, не все элементы управления можно связать с переменной используя ClassWizard. Например, попытка связи переменной с элементом управления "индикатор" невозможна.
Только с Control. Те элементы, которые позволяют организовать связь с переменной позволяют сделать связь и с классом. Например, элемент управления "строка редактирования" поддерживает два режима.
При связи с классом все происходит практически так же. Только в типе Вы увидите имя класса.
Макрос будет DDX_Control
void CMyDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMyDialog) DDX_Control(pDX, IDC_PROGRESS1, m_PPP); DDX_Text(pDX, IDC_EDIT2, m_MyEdit); //}}AFX_DATA_MAP }
Ну и в диалоге не переменная, а класс:
class CMyDialog : public CDialog { // Construction public: CMyDialog(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CMyDialog) enum { IDD = IDD_MYDIALOG_DIALOG }; CProgressCtrl m_PPP; ........ };