www.pudn.com > 1.rar > I2BaseCtrl.h


// I2BaseCtrl.h: interface for the CI2WBBaseCtrl class. 
#ifndef _IASP2WHITEBOARDBASECONTROLINCLUDEFILE_H_ 
#define _IASP2WHITEBOARDBASECONTROLINCLUDEFILE_H_ 
 
#define IFC10_DLL 
 
#include "i2.h" 
//#include "iaspwb.h" 
#define MAX_CTRLIDNAME 36 
#define WB_PROP_CHANGE 1    //control data can change 
 
typedef struct tagWB32CONTROLDATA 
{ 
GUID  csid;			//control set id 
INT   cid;         //control id 
CHAR  idname[MAX_CTRLIDNAME];   //control name,if "" means need a name 
CHAR  idgrpname[MAX_CTRLIDNAME];   //group name 
//RECT  rect; 
I2Rect rect;       //control rect 
//I2Rect grprect;    //group rect 
DWORD len;         //length of data 
RECT  grprect; 
}WB32CONTROLDATA,*LPWB32CONTROLDATA; 
 
typedef struct tagWB32FONT 
{ 
DWORD size; 
DWORD color; 
DWORD style; 
CHAR  name[LF_FACESIZE]; 
}WB32FONT,*LPWB32FONT; 
 
typedef struct tagWB32CONTROLATTRIB 
{ 
INT       m_linestyle;    
INT       m_linewidth; 
COLORREF	m_color; 
COLORREF	m_bkcolor; 
WB32FONT 	m_font; 
RECT		  m_rect; 
}WB32CONTROLATTRIB,*LPWWB32CONTROLATTRIB; 
 
class IASPAPI CI2WBBaseCtrl : public I2Object 
{ 
#define CLASSNAME_CI2WBBASECTRL "CI2WBBaseCtrl" 
 
public: 
INT      m_cid; 
GUID     m_csid; 
char     m_name[MAX_CTRLIDNAME]; 
char     m_grpname[MAX_CTRLIDNAME]; 
RECT     m_grprect; 
DWORD    m_state; 
DWORD    m_property; 
 
virtual VOID readFromStream(I2MemoryFileStream *stm,INT len,const I2Rect& r)=0; 
virtual VOID writeToStream(I2MemoryFileStream *stm,BOOL fdata)=0; 
//virtual VOID writeToFile(I2StgIStream& stm,BOOL fdata)=0; 
virtual VOID OnRButtonUp(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend)=0; 
virtual VOID OnRButtonDown(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend)=0; 
virtual BOOL OnLButtonUp(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend)=0; 
virtual VOID OnMouseMove(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend)=0; 
virtual VOID OnLButtonDown(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend)=0; 
virtual BOOL OnLButtonDBLCLK(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd)=0; 
virtual VOID moveTo(INT xoffset,INT yoffset)=0; 
virtual VOID paintControl(HDC hdc)=0; 
virtual VOID getControlRect(I2Rect& r)=0; 
virtual VOID OnAttribChange(INT type,INT mask,BOOL flocal)=0; 
virtual VOID OnInplaceEditorNeedText(LPWB32FONT pfont,LPSTR* ptext)=0; 
virtual VOID OnInplaceEditorReturnText(POINT pos,LPSTR text)=0; 
virtual VOID set_Font(WB32FONT* pfont,INT mask)=0; 
virtual BOOL OnDragFile(LPSTR filename,POINT p,CHAR* ptr,HWND hwnd)=0; 
virtual VOID OnChangeData(RECT& rect)=0; 
 
 
CI2WBBaseCtrl(){}; 
CI2WBBaseCtrl(INT cid,VOID* wb); 
~CI2WBBaseCtrl(){}; 
 
WB32CONTROLATTRIB cinfo; 
 
VOID moveGroupTo(INT xoffset,INT yoffset) 
{ 
m_grprect.left=m_grprect.left+xoffset; 
m_grprect.right=m_grprect.right+xoffset; 
m_grprect.top=m_grprect.top+yoffset; 
m_grprect.bottom=m_grprect.bottom+yoffset; 
} 
 
VOID set_LineStyle(INT Value) 
{ 
cinfo.m_linestyle=Value; 
} 
 
VOID get_LineStyle(INT *Value) 
{ 
*Value=cinfo.m_linestyle; 
} 
 
VOID set_LineWidth(INT Value) 
{ 
cinfo.m_linewidth=Value; 
} 
 
VOID get_LineWidth(INT *Value) 
{ 
*Value=cinfo.m_linewidth; 
} 
 
VOID set_Color(COLORREF Value) 
{ 
cinfo.m_color=Value; 
} 
 
VOID get_Color(COLORREF *Value) 
{ 
*Value=cinfo.m_color; 
} 
 
VOID set_Bkcolor(COLORREF Value) 
{ 
cinfo.m_bkcolor=Value; 
} 
 
VOID get_Bkcolor(COLORREF *Value) 
{ 
*Value=cinfo.m_bkcolor; 
} 
 
VOID get_CID(INT *Value) 
{ 
*Value=m_cid; 
} 
 
VOID get_State(DWORD *Value) 
{ 
*Value=m_state; 
} 
 
VOID set_State(DWORD Value) 
{ 
m_state=Value; 
} 
 
VOID get_Property(DWORD *Value) 
{ 
*Value=m_property; 
} 
 
VOID set_Property(DWORD Value) 
{ 
m_property=Value; 
} 
 
VOID set_Name(LPSTR buf) 
{ 
lstrcpy(m_name,buf); 
} 
 
VOID get_Name(LPSTR buf) 
{ 
lstrcpy(buf,m_name); 
} 
 
VOID set_GrpName(LPSTR buf) 
{ 
lstrcpy(m_grpname,buf); 
} 
 
VOID get_GrpName(LPSTR buf) 
{ 
lstrcpy(buf,m_grpname); 
} 
 
VOID set_GrpRect(RECT& rect) 
{ 
m_grprect=rect; 
} 
 
VOID get_GrpRect(RECT *rect) 
{ 
*rect=m_grprect; 
} 
 
//inherit from I2Object 
EMPTY_I2OBJECT_IMPLEMENT(CI2WBBaseCtrl,CLASSNAME_CI2WBBASECTRL,I2Object) 
 
char* toString(void) 
{ 
return strdup("iasp2 white board base control object"); 
} 
 
}; 
 
#endif