ALXSoft

Утилиты, исходники, примеры для программистов на Visual C++

Главная
Новости
Компонент ALXGrid
Примеры
Документация
Загрузка
Библиотека alxBASE
Примеры
Документация
Загрузка
Утилита DBFRead
Загрузка
Утилита DBFNavigator
Загрузка
Утилита IDXView
Загрузка
Утилита MDXView
Загрузка
Утилита NDXView
Загрузка
Утилита NTXView
Загрузка
Утилита NSXView
Загрузка
Ссылки

English version

Пример "GridDlg"
GridDlg window

    Пример использования "сетки" в диалоговых окнах.
    Есть два способа создания элемента управления "сетка" в диалоговом окне.

    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;
}

Алексей. E-mail: alxsoft@gazinter.net

Hosted by uCoz