#if !defined(AFX_VISPLITBAR_H__C2E329E8_58C3_11D2_A4DC_0040051BC7BF__INCLUDED_) #define AFX_VISPLITBAR_H__C2E329E8_58C3_11D2_A4DC_0040051BC7BF__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 // VISplitBar.h : header file // typedef enum { VI_CTRL_SPLITBAR_LDOWN = 0x00000001, VI_CTRL_SPLITBAR_MDOWN = 0x00000002, VI_CTRL_SPLITBAR_RDOWN = 0x00000004, VI_CTRL_SPLITBAR_DRAGGING = 0x00000008, }VI_CTRL_SPLITBAR_FLAGS; #define VI_SPLIT_VERT 0x00000001 #define VI_SPLIT_HORZ 0x00000002 #define VI_SPLIT_SHADOW_DRAG 0x00000000 #define VI_SPLIT_FULL_DRAG 0x00000004 #define VI_SPLIT_STYLE2 0x00000008 //style2 => //first line m_BorderColor default color VICOLOR_65 //middle line m_EditColor default color VICOLOR_152 //last line m_TextColor default color VICOLOR_65 //no style2 => use m_BackColor only #define VI_NM_BEGIN_DRAG_SPLITTER 0x00000001 #define VI_NM_DRAG_SPLITTER 0x00000002 #define VI_NM_END_DRAG_SPLITTER 0x00000003 ///////////////////////////////////////////////////////////////////////////// // VISplitBar window class AFX_EXT_CLASS VISplitBar : public CWnd, public VIControl { // Construction public: VISplitBar(DWORD style = (VI_SPLIT_VERT | VI_SPLIT_SHADOW_DRAG )); // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(VISplitBar) //}}AFX_VIRTUAL // Implementation public: virtual ~VISplitBar(); BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); // Sets the Drag style fulldrag or shadow drag void SetDragStyle(int style); int GetDragStyle(); void ModifyDragStyle(int iAddedStyle,int iRemovedStyle=0); // Sets / Gets the Split bar size int GetSize(); void SetSize(int size); virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); // Generated message map functions protected: //{{AFX_MSG(VISplitBar) afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); afx_msg void OnMouseMove(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP() void StartDrag(); void Drag(CPoint point); void EndDrag(CPoint point); DWORD m_Style; int m_Size; int m_Offset; RECT m_DragRect; }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(AFX_VISPLITBAR_H__C2E329E8_58C3_11D2_A4DC_0040051BC7BF__INCLUDED_)