#pragma once
|
#include <core/swnd.h>
|
|
namespace SOUI
|
{
|
class SSplitBar : public SWindow
|
{
|
SOUI_CLASS_NAME(SSplitBar, L"splitbar")
|
public:
|
SSplitBar();
|
~SSplitBar();
|
|
protected:
|
void OnLButtonDown(UINT nFlags,CPoint pt);
|
void OnLButtonUp(UINT nFlags,CPoint pt);
|
void OnMouseMove(UINT nFlags,CPoint pt);
|
BOOL OnSetCursor(const CPoint &pt);
|
LRESULT OnCreate( LPVOID );
|
|
void ResizeHostWindow(int nOffset);
|
SOUI_ATTRS_BEGIN()
|
ATTR_INT(L"resizeHostWnd", m_bResizeHostWnd, FALSE)
|
ATTR_INT(L"vertical", m_bVertical, FALSE)
|
ATTR_INT(L"minSize", m_nSizeMin, FALSE)
|
ATTR_INT(L"maxSize", m_nSizeMax,FALSE)
|
SOUI_ATTRS_END()
|
|
SOUI_MSG_MAP_BEGIN()
|
MSG_WM_CREATE(OnCreate)
|
MSG_WM_LBUTTONDOWN(OnLButtonDown)
|
MSG_WM_LBUTTONUP(OnLButtonUp)
|
MSG_WM_MOUSEMOVE(OnMouseMove)
|
SOUI_MSG_MAP_END()
|
|
CPoint m_ptDragPrev; /**< Í϶¯µ÷ÕûµÄǰһ¸öλÖà */
|
BOOL m_bDragging; /**< ÕýÔÚÍ϶¯ */
|
BOOL m_bResizeHostWnd; /**< ÊÇ·ñËõ·ÅËÞÖ÷´°¿Ú*/
|
int m_nSizeMin; /**< ×îС´óС */
|
int m_nSizeMax; /**< ×î´ó´óС */
|
int m_nOrginPos; /**< ×îÔʼµÄleft/top*/
|
int m_nTrackingPos;
|
BOOL m_bVertical; /**< ÊÇ·ñ´¹Ö±·Ö¸î£¬Ä¬ÈÏÊÇˮƽ·Ö¸î*/
|
};
|
|
};
|