AdvancedDialog.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // AdvancedDialog.cpp : implementation file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #include "stdafx.h"
  21. #include "advanced.h"
  22. #include "AdvancedDialog.h"
  23. #ifdef _DEBUG
  24. #define new DEBUG_NEW
  25. #undef THIS_FILE
  26. static char THIS_FILE[] = __FILE__;
  27. #endif
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CAdvancedDialog dialog
  30. CAdvancedDialog::CAdvancedDialog(CWnd* pParent /*=NULL*/)
  31. : CXTPDialog(CAdvancedDialog::IDD, pParent)
  32. {
  33. //{{AFX_DATA_INIT(CAdvancedDialog)
  34. // NOTE: the ClassWizard will add member initialization here
  35. //}}AFX_DATA_INIT
  36. }
  37. void CAdvancedDialog::DoDataExchange(CDataExchange* pDX)
  38. {
  39. CDialog::DoDataExchange(pDX);
  40. //{{AFX_DATA_MAP(CAdvancedDialog)
  41. // NOTE: the ClassWizard will add DDX and DDV calls here
  42. //}}AFX_DATA_MAP
  43. }
  44. BEGIN_MESSAGE_MAP(CAdvancedDialog, CXTPDialog)
  45. //{{AFX_MSG_MAP(CAdvancedDialog)
  46. //}}AFX_MSG_MAP
  47. ON_MESSAGE(WM_KICKIDLE,       OnKickIdle)
  48. ON_COMMAND_RANGE(ID_DEBUG_RESTART, ID_DEBUG_DISASSEMBLY, OnDebug)
  49. ON_COMMAND(ID_POPFRAME_EXIT, OnExitModal)
  50. ON_WM_SIZE()
  51. ON_COMMAND(ID_VIEW_STATUS_BAR, OnBarCheck)
  52. ON_UPDATE_COMMAND_UI(ID_VIEW_STATUS_BAR, OnUpdateControlBarMenu)
  53. END_MESSAGE_MAP()
  54. /////////////////////////////////////////////////////////////////////////////
  55. // CAdvancedDialog message handlers
  56. static UINT indicators[] =
  57. {
  58. ID_SEPARATOR,
  59. ID_INDICATOR_CAPS,
  60. ID_INDICATOR_NUM,
  61. ID_INDICATOR_SCRL,
  62. };
  63. LRESULT CAdvancedDialog::OnKickIdle(WPARAM, LPARAM)
  64. {
  65. SendMessageToDescendants(WM_IDLEUPDATECMDUI);
  66. return 0;
  67. }
  68. void CAdvancedDialog::OnExitModal()
  69. {
  70. OnCancel();
  71. }
  72. BOOL CAdvancedDialog::OnInitDialog()
  73. {
  74. CDialog::OnInitDialog();
  75. if (!m_wndStatusBar.Create(this) ||
  76. !m_wndStatusBar.SetIndicators(indicators,
  77. sizeof(indicators)/sizeof(UINT)))
  78. {
  79. TRACE0("Failed to create status barn");
  80. return -1;      // fail to create
  81. }
  82. m_wndStatusBar.SetPaneInfo(0, ID_SEPARATOR, SBPS_STRETCH, 100);
  83. VERIFY(InitCommandBars());
  84. CXTPCommandBars* pCommandBars = GetCommandBars();
  85. pCommandBars->SetMenu(_T("Menu Bar"), IDR_POPOUTFRAME);
  86. CXTPToolBar* pToolBar = pCommandBars->Add(_T("Debug"), xtpBarTop);
  87. pToolBar->LoadToolBar(IDR_DEBUG);
  88. return TRUE;  // return TRUE unless you set the focus to a control
  89.               // EXCEPTION: OCX Property Pages should return FALSE
  90. }
  91. void CAdvancedDialog::OnDebug(UINT)
  92. {
  93. AfxMessageBox(_T("Clicked!"));
  94. }
  95. void CAdvancedDialog::OnSize(UINT nType, int cx, int cy)
  96. {
  97. CXTPDialog::OnSize(nType, cx, cy);
  98. RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
  99. }
  100. void CAdvancedDialog::OnUpdateControlBarMenu(CCmdUI* pCmdUI)
  101. {
  102. ASSERT(ID_VIEW_STATUS_BAR == AFX_IDW_STATUS_BAR);
  103. ASSERT(ID_VIEW_TOOLBAR == AFX_IDW_TOOLBAR);
  104. ASSERT(ID_VIEW_REBAR == AFX_IDW_REBAR);
  105. pCmdUI->SetCheck((m_wndStatusBar.GetStyle() & WS_VISIBLE) != 0);
  106. }
  107. void CAdvancedDialog::OnBarCheck()
  108. {
  109. ASSERT(ID_VIEW_STATUS_BAR == AFX_IDW_STATUS_BAR);
  110. ASSERT(ID_VIEW_TOOLBAR == AFX_IDW_TOOLBAR);
  111. ASSERT(ID_VIEW_REBAR == AFX_IDW_REBAR);
  112. m_wndStatusBar.ShowWindow( (m_wndStatusBar.GetStyle() & WS_VISIBLE) == 0 ? SW_SHOWNA : SW_HIDE );
  113. }