Шаг 364 - Встраивание DBGRID в класс вида

Итак нам нужны классы для того что бы использовать DBGRID в проекте. Их нужно три класса.

364_1.gif (606 b)

Где их взять? При добавлении элемента OCX в проект они автоматически создаются как в шаге "Шаг 362 - DBGrid иVC устанавливаем на диалог". Вам нужно добавить в проект эти файлы. Если вам лень грузите из из проекта на сайте. Кстати там будет и OCX файл на всякий случай. Ну все можно создавать проект. В класс вида включить ссылку на класс GRID.

#endif // _MSC_VER > 1000
#include "msdgridctrl.h"

class CTestViewGridView : public Cview
......

Объявить переменную типа CMsDgridCtrl.

class CTestViewGridView : public CView
{
protected: // create from serialization only
	CTestViewGridView();
	DECLARE_DYNCREATE(CTestViewGridView)

// Attributes
public:
	CTestViewGridDoc* GetDocument();

private:
	CMsDgridCtrl cmg;
// Operations
public:
........
};

В момент создания окна создается и GRID.

////////////////////////////////////
// CTestViewGridView message handlers

int CTestViewGridView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	CRect rc;
	GetClientRect(&rc);
	cmg.Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 1234);
	cmg.ShowWindow(SW_SHOW); 
	return 0;
}

В момент изменения размеров меняется и GRID:

void CTestViewGridView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	cmg.MoveWindow(CRect(0,0,cx, cy)); 
}

А вот так выглядит наше приложение.

364_2.gif (5958 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.