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

对话框与窗口

开发平台:

Visual C++

  1. // XTPControlButton.cpp : implementation of the CXTPControlButton class.
  2. //
  3. // This file is a part of the XTREME COMMANDBARS 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 "XTPControlButton.h"
  22. #include "XTPCommandBar.h"
  23. #ifdef _DEBUG
  24. #define new DEBUG_NEW
  25. #undef THIS_FILE
  26. static char THIS_FILE[] = __FILE__;
  27. #endif
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CXTPControlButton
  30. IMPLEMENT_XTP_CONTROL(CXTPControlButton, CXTPControl)
  31. CXTPControlButton::CXTPControlButton()
  32. {
  33. EnableAutomation();
  34. m_controlType = xtpControlButton;
  35. }
  36. CXTPControlButton::~CXTPControlButton()
  37. {
  38. }
  39. void CXTPControlButton::OnLButtonUp(CPoint /*point*/)
  40. {
  41. if (GetEnabled() && (m_pParent->GetType() == xtpBarTypePopup || m_pParent->GetPosition() == xtpBarPopup))
  42. {
  43. OnExecute();
  44. }
  45. }
  46. void CXTPControlButton::OnClick(BOOL bKeyboard, CPoint pt)
  47. {
  48. if (!GetEnabled()) return;
  49. if (IsCustomizeMode())
  50. {
  51. m_pParent->SetPopuped(-1);
  52. m_pParent->SetSelected(-1);
  53. CustomizeStartDrag(pt);
  54. return;
  55. }
  56. if (!bKeyboard)
  57. {
  58. if (m_pParent->GetType() != xtpBarTypePopup)
  59. ClickToolBarButton();
  60. }
  61. else
  62. {
  63. OnExecute();
  64. }
  65. }
  66. void CXTPControlButton::Copy(CXTPControl* pControl, BOOL bRecursive)
  67. {
  68. ASSERT(DYNAMIC_DOWNCAST(CXTPControlButton, pControl));
  69. CXTPControl::Copy(pControl, bRecursive);
  70. }