home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / sheriffa / mainfrm.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-18  |  4.4 KB  |  177 lines

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "SlsDemo.h"
  6.  
  7. #include "MainFrm.h"
  8.  
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14.  
  15. #define ID_TIMER_UPDATE    0x10
  16.  
  17.  
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CMainFrame
  20.  
  21. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  22.  
  23. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  24.     //{{AFX_MSG_MAP(CMainFrame)
  25.     ON_WM_CREATE()
  26.     ON_WM_DESTROY()
  27.     ON_WM_TIMER()
  28.     ON_UPDATE_COMMAND_UI(ID_FEATURE_FEATURELEVEL1, OnUpdateFeatureFeaturelevel1)
  29.     ON_UPDATE_COMMAND_UI(ID_FEATURE_FEATURELEVEL2, OnUpdateFeatureFeaturelevel2)
  30.     ON_UPDATE_COMMAND_UI(ID_FEATURE_FEATURELEVEL3, OnUpdateFeatureFeaturelevel3)
  31.     ON_UPDATE_COMMAND_UI(ID_FEATURE_FEATURELEVEL4, OnUpdateFeatureFeaturelevel4)
  32.     ON_UPDATE_COMMAND_UI(ID_FEATURE_FEATURELEVEL5, OnUpdateFeatureFeaturelevel5)
  33.     //}}AFX_MSG_MAP
  34.     // Global help commands
  35.     ON_COMMAND(ID_HELP_FINDER, CFrameWnd::OnHelpFinder)
  36.     ON_COMMAND(ID_HELP, CFrameWnd::OnHelp)
  37.     ON_COMMAND(ID_CONTEXT_HELP, CFrameWnd::OnContextHelp)
  38.     ON_COMMAND(ID_DEFAULT_HELP, CFrameWnd::OnHelpFinder)
  39. END_MESSAGE_MAP()
  40.  
  41. static UINT indicators[] =
  42. {
  43.     ID_SEPARATOR,           // status line indicator
  44.     ID_INDICATOR_CAPS,
  45.     ID_INDICATOR_NUM,
  46.     ID_INDICATOR_SCRL,
  47. };
  48.  
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CMainFrame construction/destruction
  51.  
  52. CMainFrame::CMainFrame()
  53. {
  54.     // TODO: add member initialization code here
  55.     
  56. }
  57.  
  58. CMainFrame::~CMainFrame()
  59. {
  60. }
  61.  
  62. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  63. {
  64.     if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  65.         return -1;
  66.     
  67.     if (!m_wndToolBar.Create(this) ||
  68.         !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  69.     {
  70.         TRACE0("Failed to create toolbar\n");
  71.         return -1;      // fail to create
  72.     }
  73.  
  74.     if (!m_wndStatusBar.Create(this) ||
  75.         !m_wndStatusBar.SetIndicators(indicators,
  76.           sizeof(indicators)/sizeof(UINT)))
  77.     {
  78.         TRACE0("Failed to create status bar\n");
  79.         return -1;      // fail to create
  80.     }
  81.  
  82.     // TODO: Remove this if you don't want tool tips or a resizeable toolbar
  83.     m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
  84.         CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
  85.  
  86.     // TODO: Delete these three lines if you don't want the toolbar to
  87.     //  be dockable
  88.     m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  89.     EnableDocking(CBRS_ALIGN_ANY);
  90.     DockControlBar(&m_wndToolBar);
  91.  
  92.     m_nUpdateTimerID=SetTimer(ID_TIMER_UPDATE,60000,NULL);
  93.     return 0;
  94. }
  95.  
  96. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  97. {
  98.     // TODO: Modify the Window class or styles here by modifying
  99.     //  the CREATESTRUCT cs
  100.  
  101.     return CFrameWnd::PreCreateWindow(cs);
  102. }
  103.  
  104. /////////////////////////////////////////////////////////////////////////////
  105. // CMainFrame diagnostics
  106.  
  107. #ifdef _DEBUG
  108. void CMainFrame::AssertValid() const
  109. {
  110.     CFrameWnd::AssertValid();
  111. }
  112.  
  113. void CMainFrame::Dump(CDumpContext& dc) const
  114. {
  115.     CFrameWnd::Dump(dc);
  116. }
  117.  
  118. #endif //_DEBUG
  119.  
  120. /////////////////////////////////////////////////////////////////////////////
  121. // CMainFrame message handlers
  122.  
  123. void CMainFrame::OnDestroy() 
  124. {
  125.     CFrameWnd::OnDestroy();
  126.     
  127.     KillTimer(m_nUpdateTimerID);
  128.     
  129. }
  130.  
  131. void CMainFrame::OnTimer(UINT nIDEvent) 
  132. {
  133.     if(nIDEvent==ID_TIMER_UPDATE)
  134.     {
  135.         CSlsDemoApp *pApp=(CSlsDemoApp *)AfxGetApp();
  136.         SLS_UPDATE Update;
  137.         SLS_PERMIT Permit;
  138.         memset(&Update,0,sizeof(Update));
  139.         if(!pApp->m_pSheriff->Update(Update,Permit))
  140.         {
  141.             pApp->m_bLicenceOK=FALSE;
  142.         }
  143.     }
  144.     
  145.     CFrameWnd::OnTimer(nIDEvent);
  146. }
  147.  
  148. void CMainFrame::OnUpdateFeatureFeaturelevel1(CCmdUI* pCmdUI) 
  149. {
  150.     CSlsDemoApp *pApp=(CSlsDemoApp *)AfxGetApp();
  151.     pCmdUI->Enable(pApp->m_bLicenceOK && pApp->m_nAccessKey>=1);
  152. }
  153.  
  154. void CMainFrame::OnUpdateFeatureFeaturelevel2(CCmdUI* pCmdUI) 
  155. {
  156.     CSlsDemoApp *pApp=(CSlsDemoApp *)AfxGetApp();
  157.     pCmdUI->Enable(pApp->m_bLicenceOK && pApp->m_nAccessKey>=2);
  158. }
  159.  
  160. void CMainFrame::OnUpdateFeatureFeaturelevel3(CCmdUI* pCmdUI) 
  161. {
  162.     CSlsDemoApp *pApp=(CSlsDemoApp *)AfxGetApp();
  163.     pCmdUI->Enable(pApp->m_bLicenceOK && pApp->m_nAccessKey>=3);
  164. }
  165.  
  166. void CMainFrame::OnUpdateFeatureFeaturelevel4(CCmdUI* pCmdUI) 
  167. {
  168.     CSlsDemoApp *pApp=(CSlsDemoApp *)AfxGetApp();
  169.     pCmdUI->Enable(pApp->m_bLicenceOK && pApp->m_nAccessKey>=4);
  170. }
  171.  
  172. void CMainFrame::OnUpdateFeatureFeaturelevel5(CCmdUI* pCmdUI) 
  173. {
  174.     CSlsDemoApp *pApp=(CSlsDemoApp *)AfxGetApp();
  175.     pCmdUI->Enable(pApp->m_bLicenceOK && pApp->m_nAccessKey>=5);
  176. }
  177.