LineTrackBar.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:3k
源码类别:

图形图象

开发平台:

Visual C++

  1. /********************************************************************
  2. LineTrackBar.h - ISee图像浏览器—图像处理模块类LineTrackBar头文件
  3.     版权所有(C) VCHelp-coPathway-ISee workgroup 2000 all member's
  4.     这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用许可证
  5. 条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你
  6. 的选择)用任何更新的版本。
  7.     发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定
  8. 目地的隐含的担保。更详细的情况请参阅GNU通用许可证。
  9.     你应该已经和程序一起收到一份GNU通用许可证(GPL)的副本。如果还没有,
  10. 写信给:
  11.     The Free Software Foundation, Inc.,  675  Mass Ave,  Cambridge,
  12.     MA02139,  USA
  13. 如果你在使用本软件时有什么问题或建议,用以下地址可以与我们取得联
  14. 系:
  15. http://isee.126.com
  16. http://www.vchelp.net
  17. 或:
  18. iseesoft@china.com
  19. 作者:马翔
  20.    e-mail:hugesoft@yeah.net
  21.    功能实现:PhotoShop风格的滑动条
  22. 文件版本:
  23. Build 000123
  24. Date  2000-12-3
  25. ********************************************************************/
  26. #if !defined(AFX_LINETRACKBAR_H__D4A2173A_2625_4EE6_97EC_F421924361D0__INCLUDED_)
  27. #define AFX_LINETRACKBAR_H__D4A2173A_2625_4EE6_97EC_F421924361D0__INCLUDED_
  28. #if _MSC_VER > 1000
  29. #pragma once
  30. #endif // _MSC_VER > 1000
  31. // LineTrackBar.h : header file
  32. //
  33. #include <afxtempl.h>
  34. #include "SignEdit.h"
  35. #define RE_STRING 0
  36. #define RE_INT 1
  37. class CLineTrackObj:public CObject
  38. {
  39. public:
  40. CLineTrackObj() {;}
  41. COLORREF m_color;
  42. int     m_nLower; // lower bounds
  43. int     m_nUpper; // upper bounds
  44. int m_nZero;
  45. int     m_nPos; // current position within bounds
  46. int m_nStep;
  47. int m_nStype;
  48. BOOL m_bFocus;
  49. CWnd *pCtrl;
  50. };
  51. typedef CTypedPtrArray <CObArray, CLineTrackObj*> CItemArray;
  52. /////////////////////////////////////////////////////////////////////////////
  53. // CLineTrackBar window
  54. class CLineTrackBar : public CWnd
  55. {
  56. // Construction
  57. public:
  58. CLineTrackBar();
  59. // Attributes
  60. public:
  61. CDC      m_MemDC;
  62. CBitmap  m_Bitmap;
  63. CItemArray m_items;
  64. CLineTrackObj* pItem;
  65. // Operations
  66. public:
  67. // Overrides
  68. // ClassWizard generated virtual function overrides
  69. //{{AFX_VIRTUAL(CLineTrackBar)
  70. //}}AFX_VIRTUAL
  71. // Implementation
  72. private:
  73. void SetGroupControlText();
  74. void SetGroupControl(int nCtrl);
  75. void InvalidateCtrl();
  76. void DrawSpike();
  77. public:
  78. void SetDisabled(BOOL bEnable=FALSE);
  79. BOOL RegisterWndClass(HINSTANCE hInstance);
  80. int GetPos();
  81. void SetPos(int nPos);
  82. BOOL InitControl(int nGroupCtrl=-1,COLORREF color=RGB(0,0,0), int nLower=0, int nZero=100, int nUpper=200,int nStep=1,BOOL bFocus=FALSE,int nStype=0);
  83. virtual ~CLineTrackBar();
  84. // Generated message map functions
  85. protected:
  86. //{{AFX_MSG(CLineTrackBar)
  87. afx_msg void OnPaint();
  88. afx_msg void OnSize(UINT nType, int cx, int cy);
  89. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  90. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  91. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  92. //}}AFX_MSG
  93. DECLARE_MESSAGE_MAP()
  94. };
  95. /////////////////////////////////////////////////////////////////////////////
  96. //{{AFX_INSERT_LOCATION}}
  97. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  98. #endif // !defined(AFX_LINETRACKBAR_H__D4A2173A_2625_4EE6_97EC_F421924361D0__INCLUDED_)