GuiFolder.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. //-----------------------------------------------------------------------//
  2. // This is a part of the GuiLib MFC Extention.  //
  3. // Autor  :  Francisco Campos  //
  4. // (C) 2002 Francisco Campos <www.beyondata.com> All rights reserved     //
  5. // This code is provided "as is", with absolutely no warranty expressed  //
  6. // or implied. Any use is at your own risk.  //
  7. // You must obtain the author's consent before you can include this code //
  8. // in a software library.  //
  9. // If the source code in  this file is used in any application  //
  10. // then acknowledgement must be made to the author of this program  //
  11. // fcampos@tutopia.com  //
  12. //-----------------------------------------------------------------------//
  13. #if !defined(AFX_GUIFOLDER_H__44CCC3EF_FC44_4877_94C7_61A7ACB0E216__INCLUDED_)
  14. #define AFX_GUIFOLDER_H__44CCC3EF_FC44_4877_94C7_61A7ACB0E216__INCLUDED_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif // _MSC_VER > 1000
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CGuiFolder window
  21. #include "Guilib.h"
  22. //**********************************************************
  23. class CFolderBar
  24. {
  25. public:
  26. CFolderBar(CWnd* m_wnd,LPCSTR lp_msg,UINT uImg=(UINT)-1);
  27. public:
  28. CWnd* m_Cwnd;
  29. LPCSTR m_lpMsg;
  30. UINT m_img;
  31. CRect m_rect;
  32. BOOL m_posUp;
  33. };
  34. //*************************************************************
  35. class GUILIBDLLEXPORT CGuiFolder : public CWnd
  36. {
  37. DECLARE_DYNAMIC(CGuiFolder)
  38. // Construction
  39. public:
  40. CGuiFolder();
  41. virtual ~CGuiFolder();
  42. public:
  43. //*******************************
  44. enum Style{
  45. mNormal =0,
  46. mPush =1,
  47. mFlat =2
  48. };
  49. enum TypeFolder{
  50.     mOutlook=0,
  51. mToolBox=1
  52. };
  53. //*******************************
  54. public:
  55. virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  56. virtual BOOL PreTranslateMessage(MSG* pMsg);
  57. virtual void PreSubclassWindow(); 
  58. public:
  59. void AddFolder(CWnd* pParent,LPCSTR lpMsg, UINT uIMg=(UINT)-1);
  60. void DeleteFolder(int m_iNumFolder);
  61. void RecalLayout();
  62. virtual void DrawFolder(CFolderBar* cfb,Style m_Style);
  63. int PointInFolder(CPoint pt);
  64. void EfectoScroll();
  65. void RemoveAllFolder();
  66. void TypeLook(TypeFolder tol);
  67. protected:
  68. CPtrArray m_ArrayFolder;
  69. CToolTipCtrl m_ToolTip;
  70. int m_NumFolders;   //total de folders
  71. int m_numFolderDown;
  72. int m_numFolderUp;   //numero de folders arriba
  73. CFont* cfont;
  74. int m_iSelected;
  75. int m_ultimoFolderResal;
  76. int m_iPosDown; //a partir de donde se ubica el anterior folder
  77. int     m_iposUp;   //a partir de donde se ubica el siguiente folder
  78. int m_itemp;
  79. int m_AntFolder; //folder anterior
  80. TypeFolder m_typel; //tipo de look
  81. int m_iWhatFolderIsDrawNow; //que folder estoy pintando
  82. protected:
  83. //{{AFX_MSG(CFolder)
  84. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  85. afx_msg void OnPaint();
  86. afx_msg void OnSize(UINT nType, int cx, int cy);
  87. afx_msg void OnTimer(UINT nIDEvent);
  88. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  89. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  90. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  91. //}}AFX_MSG
  92. DECLARE_MESSAGE_MAP()
  93. };
  94. /////////////////////////////////////////////////////////////////////////////
  95. //{{AFX_INSERT_LOCATION}}
  96. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  97. #endif // !defined(AFX_GUIFOLDER_H__44CCC3EF_FC44_4877_94C7_61A7ACB0E216__INCLUDED_)