⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wizard.h

📁 组态王图库开发包
💻 H
📖 第 1 页 / 共 2 页
字号:
    BYTE     bIsNeedXLabel;  // whether need sign time(x) axis or not  
    BYTE     byLabelFlag;  // the time(x) axis'signature's  form  
    time_t   ChartLength;  // time lenth
//    time_t   ChartStart;   // time  startpoint    
    time_t   TimeUpdateFrequency;


    Trend_Curve  Trend[REAL_CURVE_NUM];

}DRAWRTREND,LPDRAWRTREND;   //for CRealTimeTrend


typedef struct 
{
    int x1;
	int y1;
	int x2;
	int y2;
	COLORREF brushColor;
	WORD brushStyle;
	short brushHatch;

	COLORREF penColor;
	int penStyle;
	int penWidth;
    //--==-=-zz add 2001/1/18=-=-=-=-=--=-=-=-==-=-=-=-===-
    RECT inrect;               //the size of ccoordinate system

    COLORREF borderPenColor;        // 边框笔色
    COLORREF borderBrushColor;      // 坐标区域背景色

    BYTE     bIsDrawAxis   ;   // whether draw x and y axis

    LOGPEN   xAndyaxis;   // used to draw x and y axis
    LOGPEN   lMajDiPenX;  // used to draw major x line
    LOGPEN   lMajDiPenY;  // used to draw major  y line;
    LOGPEN   lMinDiPenX;  // used to draw mine x line;
    LOGPEN   lMinDiPenY;  // used to draw mine y line
    
    BYTE     byValueNumY;   //the number of signature in y axis 
    BYTE     byValueNumX;    // the number of (x) axis'signature 

    POINT    MajDivision;  //describe how to devide coordinate area
    POINT    MinDivision; 
    
    BYTE     byIsShortDivLine; // whether draw short lines on axis or not

    LOGFONT  logfont[2];
    COLORREF fontcolor[2];

    BYTE     bIsNeedYLabel;

    BYTE     nWholeNum;// integer digital counts
    BYTE     nDigitNum;// 
    BYTE     bIsScience ;
    float    dValueStart;  // the start point value of y axis     
    float    dValueSize;   // the lenth of y axis                 
  
    BYTE     bIsNeedXLabel;  // whether need sign time(x) axis or not  
    BYTE     byLabelFlag;  // the time(x) axis'signature's  form  
    time_t   ChartLength;  // time lenth
    time_t   ChartStart;   // time  startpoint    


    Trend_Curve  Trend[HIST_CURVE_NUM];

}DRAWHTREND,LPDRAWHTREND;   //for CHistoryTrend

//-------------------------LINK-------------------------------------
typedef struct 
{
    COLORREF  dColor;
    UINT      nStyle;
    short     nWidth;
    float     nValue;     // value which pen's attribute responds to.
}PENCONTEXT;   

typedef struct 
{
   COLORREF   dColor;
   UINT       nStyle;
   short      nHatch;
   float      nValue;
}BRUSHCONTEXT;   
typedef struct 
{
    COLORREF  dColor;
    float     nValue;     // value which this color responds to 
}TEXTCOLORCONTEXT;    

typedef struct
{
   char* pExpress;

   short nNum;
   PENCONTEXT* pPenContext;
}LINKPEN,LPLINKPEN;

typedef struct
{
   char* pExpress;

   short nNum;
   BRUSHCONTEXT* pBrushContext;
}LINKBRUSH,LPLINKBRUSH;
typedef struct
{
   char* pExpress;

   short nNum;
   TEXTCOLORCONTEXT* pTextPenColor;
}LINKTEXTCOLOR,LPLINKTEXTCOLOR;

typedef struct
{
    char* pExpress;

    float      minVal;      //values which the minium position respond to.    
    float      maxVal;      //values which the max position respond to.
    BYTE       minPercent;  // the min value respond to High( percent )
    BYTE       maxPercent;  // the max value respond to High( percent )
    BYTE       nDirect;     // fill direction. {LEFTtoRIGHT,RIGHTtoLEFT,
                            //                 UPtoDOWN, DOWNtoUP }
    COLORREF   defColor;  
    BYTE       defStyle;  
    BYTE       defHatch;  
}LINKFILL,LPLINKFILL;

typedef struct
{
   char*   pExpress;  

   short   nDirect;          // vary direction. 
   float   minVal;           // min value.
   float   maxVal;           // max value.
   BYTE    minPercent;       // min value respond to the percent of size of object.
   BYTE    maxPercent;       // max value respond to the percent of size of object.
}LINKSIZE,LPLINKSIZE;

typedef struct
{
     char*   pExpress; 

     float   minVal;         // value which min angle appond to.
     float   maxVal;         // value which max angle appond to.
     POINT   CenterPt;       // the point of rotating around.
     short   minAngle;       // min angle(0-360).
     short   maxAngle;       // max angle(0-360).
}LINKROTATE,LPLINKROTATE;         //CLiOrient;

typedef struct
{
    char*   pExpress;  

    short  nPrivate;        //输入安全级 zz add    
	LONGLONG  nSection;          //安全区    zz add

    float leftVal;
    float rightVal; 
    short offsetLeft;
    short offsetRight;
}LINKHORSHIFT,LPLINKHORSHIFT;

typedef struct
{
    char*   pExpress;  

    short  nPrivate;        //输入安全级 zz add    
	LONGLONG nSection;          //安全区    zz add

    float upVal;
    float downVal; 
    short offsetUp;
    short offsetDown;
}LINKVERSHIFT,LPLINKVERSHIFT;

typedef struct
{
    char*   pExpress;  

	char*   pMessage;
	WORD    hotKey;

    short   nPrivate;        //输入安全级 zz add    
	LONGLONG   nSection;          //安全区    zz add

    float   minVal;              // input value down_boundary.
    float   maxVal;              // input value up_boundary.
}LINKANALOGIN,LPLINKANALOGIN;

typedef struct
{
    char*   pExpress;  

	char*   pMessage;
	WORD    hotKey;
    short   nPrivate;        //输入安全级 zz add    
	LONGLONG   nSection;          //安全区    zz add

	char*   pOnMessage;          // "on" message
    char*   pOffMessage;         // "off" message      
}LINKDISCIN,LPLINKDISCIN;

typedef struct
{
    char*   pExpress;  
    
	char*   pMessage;
	WORD    hotKey;
    short   nPrivate;        //输入安全级 zz add    
	LONGLONG   nSection;          //安全区    zz add

	BYTE m_bIsPassword;
}LINKTEXTIN,LPLINKTEXTIN;

typedef struct
{
    char*   pExpress;  

	BYTE    nWholeNum;           // whole number 
    BYTE    nDecimal;            // decimal point number.
    BYTE    bIsScience;          // whether use scientific notation.
	int     nAlignType;          //对齐类型
}LINKANALOGOUT,LPLINKANALOGOUT;

typedef struct
{
    char*   pExpress;  

    char*   pOnMessage;          // when value is TRUE, output message.
    char*   pOffMessage;         // when value is FALSE, output message.
	int     nAlignType;          //对齐类型
}LINKDISCOUT,LPLINKDISCOUT;

typedef struct
{
	char* pExpress;
	int     nAlignType;          //对齐类型
}LINKTEXTOUT,LPLINKTEXTOUT;

typedef struct
{
    char*   pExpress;  

    WORD    nCountLimit;         // when counter great than this limit.
                                 // it modify Blink state.
}LINKBLINK,LPLINKBLINK;

typedef struct
{
    char*   pExpress;  
    BYTE    bIsShowWhenTrue;     // true or false when expression is true.
}LINKHIDE,LPLINKHIDE;

typedef struct
{
   WORD hotKey;
   short  actInterval;           //键按住执行正本的间隔

   short  nPrivate;        //输入安全级 zz add    
   LONGLONG  nSection;          //安全区    zz add

   char* pUpExpress;             
   char* pDownExpress;
   char* pWhileExpress;
}LINKACTION,LPLINKACTION;

////////////////////////////////////////////////////////////////////////////
//下面的函数供图库开发者调用
//
//-----------------------绘制函数----------------------
void KVDrawLine( DRAWRECT* pDraw );
void KVDrawRoundRect( DRAWRECT* pDraw );
void KVDrawEllipse( DRAWRECT* pDraw );
void KVDrawRealBitmap( DRAWBITMAP* pDraw );

void KVDrawPipe( DRAWPIPE* pDraw );
void KVDrawLabel( DRAWLABEL* pDraw );
void KVDrawMyButton( DRAWMYBUTTON* pDraw );
void KVDrawPie( DRAWPIE* pDraw );
void KVDrawPolyshape( DRAWPOLYSHAPE* pDraw );

void KVDrawAlarmWin( DRAWALARMWIN* pDraw );
void KVDrawRTrend( DRAWRTREND* pDraw );
void KVDrawHTrend( DRAWHTREND* pDraw );

//-----------------------动画联接函数----------------------

void KVLinkPen( LINKPEN* pLink );
void KVLinkBrush( LINKBRUSH* pLink );
void KVLinkTextColor( LINKTEXTCOLOR* pLink );

void KVLinkFill( LINKFILL* pLink );
void KVLinkSize( LINKSIZE* pLink );
void KVLinkRotate( LINKROTATE* pLink );
void KVLinkHorShift( LINKHORSHIFT* pLink );
void KVLinkVerShift( LINKVERSHIFT* pLink );

void KVLinkAnalogIn( LINKANALOGIN* pLink );
void KVLinkDiscIn( LINKDISCIN* pLink );
void KVLinkTextIn(LINKTEXTIN* pLink);

void KVLinkAnalogOut( LINKANALOGOUT* pLink );
void KVLinkDiscOut( LINKDISCOUT* pLink );
//void KVLinkTextOut( char* szText );
void KVLinkTextOut( LINKTEXTOUT* pLink );       //zz changed

void KVLinkBlink( LINKBLINK* pLink );
void KVLinkHide( LINKHIDE* pLink );

void KVLinkAction( LINKACTION* pLink );

void KVLinkVerShiftIn( LINKVERSHIFT* pLink );
void KVLinkHorShiftIn( LINKHORSHIFT* pLink );

//-----------------------使用KingView资源-----------------
void KVUseTagnameDlg( HWND hDialog, /*char* szTagName*/ void** ppTagName );
void KVUseProgramDlg( HWND hDialog, /*char* szProgram*/ void** ppProgram );
void KVNewTag( HWND hDialog,int nType,char* szTagname );
CSize KVGetLabelMetric( LABELMETRIC* pLabelMetric );

BOOL CheckTagType( HWND hWnd, CString strTag, int nType ) ;
CString GetTag( HWND hWnd,CString oldTag, short nShowType = SHOW_ALL );
CString GetProgram( HWND hWnd,CString oldProgram );
BOOL KVGetHotKey( HWND hWnd,UINT* pKeyCode,char* pszKeyText );
BOOL KVGetKeyNameByCode( UINT nKeyCode,char* szKeyName ); // add by wlc 2001.1.15
BOOL KVGetSection( HWND hWnd,LONGLONG * pnSection );
BOOL KVGetSectionNameByCode( LONGLONG nSectionCode, CString & strSectionName );
int  KVNewHTrendTag(char* pName,short nUseCount );

//////////////////////////////////////////////////////////////////////////////
//下面的函数供组态王调用
//说明:此函数已经在Wizard.cpp中实现
//__declspec(dllexport)  void 
extern "C" void PASCAL EXPORT KVGetParams(void** ppParams,char* pResult);




//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_WIZARD_H__4A9C7483_8340_11D4_BB7A_0080C8DC7099__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -