|
#pragma once
namespace mycell{
class GridBase;
/*
class SelectionBound
{
GridBase* pGrid_;
RECT rcBound_;
public:
SelectionBound(GridBase* pGrid);
BEGIN_MSG_MAP(SelectionBound)
END_MSG_MAP()
public:
void Draw(HDC hDC,LPCRECT lprc);
//void DrawErease(HDC hDC);
private:
//void DrawBound(HDC hDC,LPCRECT);
};
*/
//-----------------------------------------------------------------//
//�������ڱ��ֻѡ����ѡ��߽磬��һ��
//ö��EOpType���ֶԻѡ���IJ���״̬���ֱ���
//SOT_NOOP-������SOT_MOVE-�ƶ�������
//SOT_SHRINK-����������SOT_EXPAND-���������
//��bounds_�洢�ѡ�����������еķ�Χ��
//-----------------------------------------------------------------//
struct ActiveSelectionBounds
{
enum EOpType
{
SOT_NOOP=0, //����
SOT_MOVE, //�ƶ��ѡ��
SOT_SHRINK, //�����ѡ��
SOT_EXPAND, //����ѡ��
};
ActiveSelectionBounds()
{
}
ActiveSelectionBounds(EOpType optype):opType_((BYTE)optype)
{}
ActiveSelectionBounds(EOpType optype,const CCellRange& bounds):opType_(optype),bounds_(bounds)
{
}
ActiveSelectionBounds(const ActiveSelectionBounds& rhs)
:opType_(rhs.opType_),bounds_(rhs.bounds_)
{
}
ActiveSelectionBounds& operator=(const ActiveSelectionBounds& rhs)
{
memcpy(this,&rhs,sizeof(ActiveSelectionBounds));
return *this;
}
EOpType get_OpType()const
{
return (EOpType)opType_;
}
void put_OpType(EOpType optype)
{
opType_=(BYTE)optype;
}
const CCellRange& get_bounds()const
{
return bounds_;
}
void put_bounds(const CCellRange& bounds)
{
_ASSERT(bounds.IsNormalize());
bounds_=bounds;
}
private:
BYTE opType_; //����EOpTypeֵ
CCellRange bounds_;//
};
}//namespace mycell
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
My name is Yanxueming,i live in Chengdu China.Graduated from UESTC in 1999.