Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Доступ к CDialogBar


Автор: 13dreams 26.9.2010, 09:56
Создаю в классе рамки окна DialogBar, доступ к его элементам осуществляю примерно так 

Код

CDialogBar  dial;


Код

((CButton*)dial.GetDlgItem(IDC_CHECK1)->EnableWindow(1));


Там же созданы две Radio Button и хотелось бы первую из них отметить (SetCheck), но вышеприведённым способом это сделать не получается =(

Как можно отметить кнопку?

Автор: Earnest 27.9.2010, 06:52
Вообще-то именно так и делается, т.е. SetCheck. Раз не получается, трабл где-то в другом месте.
Кроме прочего, проверь, что радио кнопки стоят друг за другом (z-order), у первой стоит стиль WS_GROUP, а у второй - нет (но этот стиль должен быть у следующего по порядку контрола), и что обе кнопки - авто-радио.

Автор: 13dreams 30.9.2010, 15:47
А как таким образом получить доступ к Edit контролу?

если делаю
Код

((CString*)dial.GetDlgItem(IDC_EDIT1)->Format(_T("%i"),number));

в ходе выполнения вылетает ошибка 

Код

CStringData* pNewData= pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );

Автор: Earnest 30.9.2010, 17:24
Код

// Получить текст:
CString str;
dial.GetDlgItemText (IDC_EDIT1, str);
// Изменить текст:
dial.SetDlgItemText (IDC_EDIT1, str);

А то что ты написал - просто бред.

Автор: 13dreams 30.9.2010, 18:55
Благодарю!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)