MainFrm.cpp
上传用户:jmtfjn
上传日期:2007-02-20
资源大小:85k
文件大小:2k
源码类别:

状态条

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "SkinProgressTest.h"
  5. #include "MainFrm.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CMainFrame
  13. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  14. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  15. //{{AFX_MSG_MAP(CMainFrame)
  16. ON_WM_CREATE()
  17. ON_WM_GETMINMAXINFO()
  18. //}}AFX_MSG_MAP
  19. END_MESSAGE_MAP()
  20. static UINT indicators[] =
  21. {
  22. ID_SEPARATOR,           // status line indicator
  23.   ID_INDICATOR_PROGRESS,  // Pane 1 with the 'STATUS_PROGRESS_BAR', large enough to accept a progress bar
  24. ID_INDICATOR_CAPS,
  25. ID_INDICATOR_NUM,
  26. ID_INDICATOR_SCRL,
  27. };
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CMainFrame construction/destruction
  30. CMainFrame::CMainFrame()
  31. {
  32. // TODO: add member initialization code here
  33. m_nWidth  = 0;
  34.   m_nHeight = 0;
  35. }
  36. CMainFrame::~CMainFrame()
  37. {
  38. }
  39. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  40. {
  41. if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  42. return -1;
  43. if (!m_wndStatusBar.Create(this) ||
  44. !m_wndStatusBar.SetIndicators(indicators,
  45.   sizeof(indicators)/sizeof(UINT)))
  46. {
  47. TRACE0("Failed to create status barn");
  48. return -1;      // fail to create
  49. }
  50. return 0;
  51. }
  52. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  53. {
  54. if( !CFrameWnd::PreCreateWindow(cs) )
  55. return FALSE;
  56. // TODO: Modify the Window class or styles here by modifying
  57. //  the CREATESTRUCT cs
  58. return TRUE;
  59. }
  60. /////////////////////////////////////////////////////////////////////////////
  61. // CMainFrame diagnostics
  62. #ifdef _DEBUG
  63. void CMainFrame::AssertValid() const
  64. {
  65. CFrameWnd::AssertValid();
  66. }
  67. void CMainFrame::Dump(CDumpContext& dc) const
  68. {
  69. CFrameWnd::Dump(dc);
  70. }
  71. #endif //_DEBUG
  72. /////////////////////////////////////////////////////////////////////////////
  73. // CMainFrame message handlers
  74. void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
  75. {
  76. // TODO: Add your message handler code here and/or call default
  77.   lpMMI->ptMinTrackSize.x = m_nWidth;
  78.   lpMMI->ptMinTrackSize.y = m_nHeight;
  79. CFrameWnd::OnGetMinMaxInfo(lpMMI);
  80. }
  81. BOOL PeekAndPump()
  82. {
  83.   static MSG msg;
  84.   while(::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
  85.   {
  86.   if(!AfxGetApp()->PumpMessage())
  87.     {
  88.   ::PostQuitMessage(0);
  89.   return FALSE;
  90.   }
  91.   }
  92.   return TRUE;
  93. }