Шаг 21 - Что сделал AppWizard, класс Вида

Так же AppWizard использовал специальный класс для вида - COleDBRecordView. От него был поражден класс CTestTemplateView.

class CTestTemplateView : public COleDBRecordView
{
	......
};

И в нем находится ссылка на класс CTestTemplateSet, который мы смотрели в прошлом шаге.

class CTestTemplateView : public COleDBRecordView
{
	......
	enum{ IDD = IDD_TESTTEMPLATE_FORM };
	CTestTemplateSet* m_pSet;
	//}}AFX_DATA
};

Общая идея такова.

class C***View : public COleDBRecordView
{
public:
 C***set *m_pSet;
};

Звездочки это переменная часть, которая зависит от названия приложения. Самое интересное находиться в OnInitialUpdate().

m_pSet = &GetDocument()->m_testTemplateSet;	// получаем ссылку
{
	CWaitCursor wait;			// курсор ожидания, как только выйдет за скобку тут же станет нормальный
	HRESULT hr = m_pSet->Open();	// открыть
	if (hr != S_OK)
	{
		// если ошибка открытия, то флаги будут установлены перед первой
		// и одновременно после последней, то есть нигде, что заблокирует
		// кнопки навигации
		m_bOnFirstRecord = TRUE;
		m_bOnLastRecord = TRUE;
	}				
}
COleDBRecordView::OnInitialUpdate();

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 21.07.2001