⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stockview.cpp

📁 Visual C++ 2005的源代码
💻 CPP
字号:
// CStockView implementation
#include "stdafx.h"
#include "resource.h"
#include "OurConstants.h"
#include "Mainfrm.h"
#include "StockView.h"
#include "StockSet.h"
#include "DBSampleDoc.h"

IMPLEMENT_DYNCREATE(CStockView, CRecordView)

CStockView::CStockView(): CRecordView(CStockView::IDD), m_pSet(NULL)
, m_StockStatus(_T(""))
{
}

CStockSet* CStockView::GetRecordset()
  {
    ASSERT(m_pSet != NULL);
    return m_pSet;
  }

  CRecordset* CStockView::OnGetRecordset()
  {
    return m_pSet;
  }

void CStockView::DoDataExchange(CDataExchange* pDX)
{
  CRecordView::DoDataExchange(pDX);
  m_StockStatus = "Situation normal";
  long StockBalance = m_pSet->m_UnitsInStock - m_pSet->m_ReorderLevel;

  if(m_pSet->m_ReorderLevel != 0)
  {
    if((StockBalance > 0) && (StockBalance < 11))
      m_StockStatus = "*Warning: low stock*";
    if(StockBalance < 1)
      m_StockStatus = "**Urgent: reorder now**";
   }

  DDX_FieldText(pDX, IDC_STOCKNAME, m_pSet->m_ProductName, m_pSet);
  DDX_FieldText(pDX, IDC_STOCKID, m_pSet->m_ProductID, m_pSet);
  DDX_FieldText(pDX, IDC_STOCKUNITPRICE, m_pSet->m_UnitPrice, m_pSet);
  DDX_FieldText(pDX, IDC_STOCKUNITSINSTOCK, m_pSet->m_UnitsInStock, m_pSet);
  DDX_FieldText(pDX, IDC_STOCKREORDERLEVEL, m_pSet->m_ReorderLevel, m_pSet);
  DDX_Text(pDX, IDC_STOCKSTATUS, m_StockStatus);
}

  // COrderView diagnostics

#ifdef _DEBUG
void CStockView::AssertValid() const
{
  CRecordView::AssertValid();
}

void CStockView::Dump(CDumpContext& dc) const
{
  CRecordView::Dump(dc);
}
#endif //_DEBUG
BEGIN_MESSAGE_MAP(CStockView, CRecordView)
  ON_BN_CLICKED(IDC_STOCKPRODUCTS, &CStockView::OnProducts)
END_MESSAGE_MAP()

void CStockView::OnProducts()
{
  static_cast<CMainFrame*>(GetParentFrame())->SelectView(PRODUCT_VIEW);
}

void CStockView::OnInitialUpdate()
{

  BeginWaitCursor();

  CDBSampleDoc* pDoc = static_cast<CDBSampleDoc*>(GetDocument());
	m_pSet = &(pDoc->m_StockSet);
  m_pSet->m_pDatabase = pDoc->m_DBSampleSet.m_pDatabase;

  // Set the current Product ID as the parameter
   m_pSet->m_ProductIDparam = pDoc->m_DBSampleSet.m_ProductID;

   // Filter on the Product ID field
   m_pSet->m_strFilter = "ProductID = ?";

   CRecordView::OnInitialUpdate();
   if (m_pSet->IsOpen())
   {
      CString strTitle = m_pSet->m_pDatabase->GetDatabaseName();
      CString strTable = m_pSet->GetTableName();
      if (!strTable.IsEmpty())
         strTitle += _T(":") + strTable;
      GetDocument()->SetTitle(strTitle);
   }
   EndWaitCursor();
}

void CStockView::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView)
{
   if(bActivate)
   {
      CDBSampleDoc* pDoc = static_cast<CDBSampleDoc*>(GetDocument());

      // Set current Product ID as parameter and requery the database
      m_pSet->m_ProductIDparam = pDoc->m_DBSampleSet.m_ProductID;
      m_pSet->Requery();
      CRecordView::OnInitialUpdate();
   }

  CRecordView::OnActivateView(bActivate, pActivateView, pDeactiveView);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -