Учебник по Visual C++ .Net


Управление с помощью объекта класса-оболочки - часть 3


void CTestGLDlg::DoDataExchange(CDataExchange* pDX) {

//====== Связывание переменной с элементом

DDX_Control(pDX, IDCJDPENGL, m_Ctrl);

CDialog::DoDataExchange(pDX);

}

//====== Здесь мы убрали ON_WM_PAINT и т. д.

BEGIN_MESSAGE_MAP(CTestGLDlg, CDialog) ON_WM_SYSCOMMAND()

//

}

}

AFX_MSG_MAP

ON_CBN_SELCHANGE(IDC_FILL, OnSelchangeFill)

ON_BN_CLICKED(IDC_FILENAME, OnClickedFilename)

ON_WM_HSCROLL()

ON_BN_CLICKED(IDC_BKCLR, OnClickedBkclr)

ON_BN_CLICKED(IDC_QUADS, OnClickedQuads)

ON_BN_CLICKED(IDC_STRIPS, OnClickedStrips)

END_MESSAGE_MAP()

//===== CTestGLDlg message handlers

BOOL CTestGLDlg::OnInitDialog()

{

//====== Добываем адрес меню управления окном

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu)

{

//====== Добавляем команду About

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING,

IDM_ABOUTBOX,"About...");

}

//====== Загружаем стандартный значок

HICON hMylcon = ::LoadIcon(0,(char*)IDI_WINLOGO);

Setlcon(hMylcon, TRUE); // Set big icon Setlcon(hMylcon, FALSE);

// Set small icon

CDialog::OnInitDialog();

//====== Начальная установка элементов

CComboBox *pBox = (CComboBox*)GetDlgltem(IDC_FILL);

pBox->AddString("Points"); pBox->AddString("Lines");

pBox->AddString("Fill"); pBox->SetCurSel (2);

//==== Выясняем состояние режима изображения полигонов

m_Ctrl.GetQuad(&m_bQuads);

WPARAM w = m_bQuads ? BST_CHECKED : BST_UNCHECKED;

//===== Устанавливаем состояние переключателя

GetDlgltem(IDC_QUADS)->SendMessage(BM_SETCHECK, w, 0);

w = m_bQuads ? BST_UNCHECKED : BST_CHECKED;

GetDlgltem(IDC_STRIPS)->SendMessage(BM_SETCHECK, w, 0);

return TRUE;

}

void CTestGLDlg::OnSysCommand(UINT nID, LPARAM iParam)

{

if ((nID S OxFFFO) == IDM_ABOUTBOX)

{

CDialog(IDD_ABOUTBOX).DoModal();

}

else

{

CDialog::OnSysCommand(nID, IParam);

}

}

//====== Выбор из списка типа Combo-box

void CTestGLDlg::OnSelchangeFill(void) "'*




Начало  Назад  Вперед



Книжный магазин