Разработка автоматизированной системы хранения и обработки информации. Балабанов П.В - 12 стр.

UptoLike

Рис. 3.4. Добавление функции перехвата сообщения
3. Аналогично необходимо добавить метод для обработки команды ID_RECORD_DELETE. После этого закройте окно
ClassWizard.
4. В окне ClassView (рис. 3.5) дважды щелкните на элементе CEmployeeView. Откроется файл EmployeeView.h. В
раздел Attributes (рис. 3.5) добавьте следующие строки
protected:
BOOL m_bAdding;
Рис. 3.5. Редактирование файла EmployeeView.h.
5. Откройте файл EmployeeView.cpp и добавьте строку
m_bAdding=FALSE;
как это показано в листинге ниже
CEmployeeView::CEmployeeView()
: CRecordView(CEmployeeView::IDD)
{
m_pSet = NULL;
m_bAdding=FALSE;
}
6. В том же файле EmployeeView.cpp найдите функцию CEmployeeView::OnRecordAdd() и отредактируйе ее текст, как
показано в листинге ниже.
void CEmployeeView::OnRecordAdd()
{
m_pSet->AddNew();
m_bAdding=TRUE;
CEdit* PCtrl=(CEdit*)GetDlgItem(IDC_EMPLOYEE_ID);
int result=PCtrl->SetReadOnly(FALSE);
UpdateData(FALSE);
}
7. В окне ClassView щелкните правой кнопкой мыши на элементе CEmployeeView и выберите команду Add Virtual
Function. В раскрывшемся окне в левом списке выберите значение OnMove, а затем щелкните на кнопке Add and Edit. Отре-
дактируйте появившийся текст функции OnMove, как показано в листинге ниже.
BOOL CEmployeeView::OnMove(UINT nIDMoveCommand)
{
if (m_bAdding)
{
m_bAdding=FALSE;
UpdateData(TRUE);
if(m_pSet->CanUpdate())
m_pSet->Update();
m_pSet->Requery();
UpdateData(FALSE);
CEdit*PCtrl=(CEdit*)GetDlgItem(IDC_EMPLOYEE_ID);
PCtrl->SetReadOnly(TRUE);
return TRUE;
}
else