Пример использования "сетки"
в диалоговых окнах.
Есть два способа создания элемента
управления "сетка" в диалоговом окне.
1. Создать пользовательский элемент
управления (Custom Control). Ввести в поле "Class" имя
вашего класса (родительским классом должен быть CALXGridCtrl). Но перед инициализацией
диалогового окна этот класс должен быть
зарегистрирован. Например:
CRegGridDLG::CRegGridDLG(CWnd* pParent /*=NULL*/)
: CDialog(CRegGridDLG::IDD, pParent)
{
if (!CRegGridCtrl::RegisterClass())
{
TRACE0("Failed to register grid
control\n");
return;
}
//{{AFX_DATA_INIT(CRegGridDLG)
// NOTE: the ClassWizard will add member
initialization here
//}}AFX_DATA_INIT
}
CRegGridDLG::~CRegGridDLG()
{
CRegGridCtrl::UnregisterClass();
}
(в заголовочном файле должен быть обьявлен
макрос DECLARE_REGISTER, а в cpp макросIMPLEMENT_REGISTER)
2. Можно также воспользоваться
функцией Create(), которая сама зарегистрирует ваш
класс.
int CCrGridDLG::OnCreate(LPCREATESTRUCT
lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) ==
-1)
return -1;
if (!m_GridCtrl.Create( WS_EX_STATICEDGE,
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | AGS_FLAT, CRect(7,7,410,220), this, 0))
{
TRACE0("Failed to create list
box\n");
return -1;
}
return 0;
} |