Так же 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();