亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mylib.h

?? modbus PLC 模擬程序
?? H
字號:
///////////////////////////////////////////////////////////////////////
//
// Mylib.h
//
// Author : Conrad Braam
// This lib is a collection of usefull classes, mostly graphical in nature
//
// Credits CStaticLink - Paul Di Lascia
//         Ado classes - Carlos Antollini
//
//
///////////////////////////////////////////////////////////////////////

#ifndef __AFXMT_H__
   // include multithreaded MFC headder for Thread class
	#include <afxmt.h>

   //#error Must include <afxmt.h> Multithreaded classes.
#endif


#ifndef __MYLIB_H__
#define __MYLIB_H__

#include "ado.h"
#include "statlink.h"
#include "colorstatic.h"

#define SUCCESS                     0

#ifdef FAILED
   #undef FAILED
#endif
#define FAILED                   -1

#define MAX_VALUE_NAME           256
#define MAX_PORT_NAME            256

// dialog-box constants
#define PORT_INUSESTR      " *"     // appended to LB for used comm ports

LONG CalcLRC(BYTE * lrcBuffPtr,    //  -> pointer to buffer at start of LRC
             DWORD  buffLen,       //  ->
             BOOL   calc2Comp,     //  -> Calculate 2's Complement also (last call)
             BYTE * lrc            // <->
            );

LONG SwopWords(DWORD * x);
LONG SwopBytes(WORD * x);
LONG SwopDWords(DWORD * x);
double Round(double val);

#define MAX_ERROR_STR_LEN     256




/////////////////////////////////////////////////////////////////////////////
// Registry access class
//

class DRegKey : public CObject
{
   public:
      // default constructor & destructor
      DRegKey()
         { Init(); };
      ~DRegKey()
         { Close(); };
   
      // alternate constructor
      DRegKey(HKEY hKey, LPCTSTR keyName = NULL, REGSAM regSam= KEY_ALL_ACCESS);

      // operations
      LONG Open(HKEY hKey, LPCTSTR keyName = NULL, REGSAM regSam= KEY_ALL_ACCESS);
      LONG Close();
      void Attach(HKEY key)
         { m_hKey = key; };
      HKEY Detach()
         { HKEY temp = m_hKey; m_hKey = NULL; return(temp);};
      operator HKEY() const;

      // the functions below return the win32 result codes: TRUE/FALSE
      // get value methods
      LONG QueryValue(LPCTSTR valueName , DWORD *dwValue);                 // DWORD values
      LONG QueryValue(LPCTSTR valueName , BYTE *bValue);                   // BYTE values
      LONG QueryValue(LPCTSTR valueName , LONG *lValue);                   // LONG values
      LONG QueryValue(LPCTSTR valueName , LPSTR szValue, DWORD *pLength);  // char buffers
      LONG QueryValue(LPCTSTR valueName , CString& szValue);               // CString
      LONG QueryBinValue(LPCTSTR valueName , BYTE* binData, DWORD *pLength);// RAW BYTE buffer
      // set value methods
      LONG SetBinValue(LPCTSTR valueName , BYTE* binData, DWORD length);
      LONG SetValue(LPCTSTR valueName , DWORD dwValue);
      LONG SetValue(LPCTSTR valueName , LPCTSTR szValue, DWORD length);
      LONG SetValue(LPCTSTR valueName , const BYTE* binData, DWORD length);
      LONG SetValue(LPCTSTR valueName , CString& stringCString) {const char *pS = stringCString;LONG ret=SetValue(valueName,(const char*)pS, stringCString.GetLength());return(ret);};
      // Reg. management functions
      LONG DeleteValue(LPCTSTR valueName);
      LONG DeleteKey(LPCTSTR keyName = NULL);
      LONG DeleteKeyRecurse(LPCTSTR keyName = NULL);

      LONG EnumKey(CStringArray &csaKeyNames);          // populate a CStringarray with key names
      LONG EnumKey(DWORD index, CString &valueName);         // return the key name at an index
      LONG EnumKey(DWORD index, LPSTR string, DWORD maxSize);// ditto
   private:
      void Init()
      {  m_hKey = NULL; m_baseKey = NULL;};

   public:
      HKEY  m_hKey;

      static HKEY local_machine;   // = HKEY_LOCAL_MACHINE;
      static HKEY current_user;    // = HKEY_CURRENT_USER;

   private:
      LONG result;
      HKEY  m_baseKey;
      CString m_KeyName;
}; // class DRegKey

////////////////////////////////////////////////////////////////////////////////
// Dialog window resizing class
// see CPP file for more

#define IDC_MAIN 0   //Parent dialog ID to be relative window

class CResizer  
{
public:
  enum EBorder{
    eFixed = 1,  //Given distance to specified window side
    eProportional, //Coordinate is changed proportionally to width/height of specified window
    eWidth,   //The width is preserved (relative window and window side are ignored)
    eHeight,  //The height is preserved (relative window and window side are ignored)
  };
  enum ESize{
    eLeft = 1,  //Relative to left side
    eTop,       //Top
    eRight,     //Right
    eBottom,    //Bottom
    eXCenter,   //The center of width
    eYCenter    //The center of height
  };
  struct CBorder{
    EBorder eType;  //Type of relation to relative control side
    int nRelID;     //Relative control
    ESize eRelType; //Side of relative control
  };
  struct CBorderInfo{
    int nID;         //Control ID
    CBorder left;    
    CBorder top;
    CBorder right;
    CBorder bottom;
  };
private:
  struct CControlInfo{
    RECT rcInitial; //initial control position;
    const CBorderInfo *pInfo;
  };
  struct CRectInfo{
    int nID;       //Control ID
    RECT rc;      //New control rect
    bool bVisible; //If control is visible
    bool bHide;    //If control should be hidden because it overlaps senior control
  };
  HWND m_wndParent;
  RECT m_rcInitial; //Initial window client area
  typedef CControlInfo * TInfo;
  typedef CRectInfo * TRectInfo;
  TInfo m_vInfo;
  int m_nSize; //Size of m_vInfo array
  mutable TRectInfo m_vRectInfo;
  mutable int m_nCachedSize; //Size of m_vRectInfo
protected:
  HWND GetDlgItem(int nID) const{return ::GetDlgItem(m_wndParent, nID);}
  void GetDlgItemRect(int nID, RECT &rc) const;
  void GetCachedDlgItemRect(int nID, RECT &rc) const;
  void GetInitialDlgItemRect(int nID, RECT &rc) const;
  void Move(int nIndex) const;
  int GetCoordinate(ESize eType, const RECT &rcInitial, const CBorder &border, const RECT &rc) const;
  static int GetRectCoord(ESize eType, const RECT &rc);
  static int GetRectSize(ESize eType, const RECT &rc);
  int GetRelativeCoord(const CBorder &border) const;
  int Find(int nID) const;
  int FindCached(int nID) const;
  void MoveAndHideOverlapped() const;
  void Clear();
public:
  //Initializes resizer
  bool Init(HWND hWndParent, LPCRECT rcInitial, const CBorderInfo *pBorders, int nSize);
  //Performs moving of controls
  void Move() const;
  //Just constructor
  CResizer();
  //Just destructor
  ~CResizer();
};

/////////////////////////////////////////////////////////////////////////////
// The CDragSizerBmp class implements a bitmap subclassed from a static.
// A mouse-down over the bitmap is used to capture the mouse and then size the 
// parent window, like a window "drag" bar, which posts WM_SIZE to the parent
// untill the mouse is released to another window gains focus.

class CDragSizerBmp : public CWnd
{
// Construction
public:
	CDragSizerBmp();

   BOOL SetBitmapID(int resourceId);

   // mouse cursor type and window corner type specified:
   enum _CursorCornerType
   {
      CORNER_BOTTOMRIGHT   = 0,  // 0=default : IDC_SIZENWSE
      CORNER_BOTTOMLEFT,         // 1=IDC_SIZENESW
      CORNER_TOPRIGHT,           // 2=IDC_SIZENESW
      CORNER_TOPLEFT             // 3=IDC_SIZENESW
   };
   
   BOOL SetCornerType(_CursorCornerType corner, int resourceId, BOOL shiftControl = TRUE);
// Attributes
public:

private:
   CBitmap m_bitMap;
   BOOL    m_buttonDown;
   CPoint  m_downPosition;
   _CursorCornerType m_cornerType;

   virtual void PreSubclassWindow();
   // Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDragSizerBmp)
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CDragSizerBmp();

	// Generated message map functions
protected:
   void DrawTrans(HDC hDC, int x, int y);
   void DrawTrans(CDC* pDC, int x, int y);
   int GetWidth();
   int GetHeight();

   int m_iWidth;
   int m_iHeight;
   HBITMAP m_hbmMask;    // handle to mask bitmap

   void GetMetrics();
   void CreateMask(HDC hDC);

   DECLARE_DYNAMIC(CDragSizerBmp)
	//{{AFX_MSG(CDragSizerBmp)
	afx_msg void OnPaint();
	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()
};


#endif __MYLIB_H__

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九精品一区二区| 欧洲精品在线观看| 欧美精品久久久久久久多人混战| 欧美精品一区二区在线播放| 亚洲妇女屁股眼交7| 高潮精品一区videoshd| 日韩欧美一级片| 亚洲国产精品精华液网站| 成人做爰69片免费看网站| 欧美一区二区视频观看视频| 亚洲综合免费观看高清在线观看| 丰满放荡岳乱妇91ww| 精品国产乱码久久久久久闺蜜 | 精品一区二区在线观看| 在线观看欧美黄色| 亚洲最新视频在线观看| 91在线精品秘密一区二区| 久久婷婷国产综合精品青草| 日本va欧美va精品发布| 制服丝袜中文字幕亚洲| 日本最新不卡在线| 51精品视频一区二区三区| 夜夜爽夜夜爽精品视频| 在线观看91精品国产入口| 亚洲丝袜美腿综合| 色域天天综合网| 亚洲青青青在线视频| 一道本成人在线| 亚洲小少妇裸体bbw| 在线视频一区二区三| 亚洲综合一区二区三区| 欧美羞羞免费网站| 日韩中文字幕91| 欧美一级淫片007| 国产在线播精品第三| 久久精品一区二区三区不卡牛牛| 国产成人午夜视频| 中文字幕欧美区| 99久久精品免费| 一区二区三区日韩精品视频| 欧美日韩免费视频| 美女视频第一区二区三区免费观看网站| 欧美精品乱人伦久久久久久| 日韩精品电影在线| 久久久噜噜噜久久人人看 | 亚洲免费观看高清完整版在线观看熊 | 麻豆精品精品国产自在97香蕉| 欧美一级黄色大片| 国产激情一区二区三区四区| 国产精品久久免费看| 在线这里只有精品| 毛片基地黄久久久久久天堂| 国产欧美日韩在线看| 色综合一个色综合| 日韩精品久久理论片| 久久精品欧美日韩| 色噜噜狠狠色综合欧洲selulu| 日韩激情在线观看| 欧美国产丝袜视频| 欧美日本免费一区二区三区| 久久av资源网| 日韩一区有码在线| 日韩丝袜美女视频| 91视视频在线观看入口直接观看www | 国产亚洲欧美一级| 欧美亚洲一区二区在线观看| 久久成人久久鬼色| 亚洲黄色录像片| 日韩精品一区二区三区视频在线观看| 国产精品一二三在| 亚洲香肠在线观看| 国产欧美一区二区精品秋霞影院| 在线欧美一区二区| 国产一区二区视频在线播放| 亚洲电影第三页| 国产女人18毛片水真多成人如厕| 欧美日本乱大交xxxxx| 成人免费毛片嘿嘿连载视频| 肉丝袜脚交视频一区二区| 欧美激情一区三区| 欧美一级欧美三级在线观看 | 成人亚洲一区二区一| 亚洲成人精品一区二区| 中文字幕亚洲一区二区av在线| 日韩一卡二卡三卡国产欧美| 在线欧美日韩国产| 91在线观看污| 国产福利一区二区三区视频在线 | 日本伊人精品一区二区三区观看方式| 国产精品美女久久久久久久久| 欧美一区二区人人喊爽| 91电影在线观看| 99久久99久久久精品齐齐| 国产一区二区免费看| 久久国产日韩欧美精品| 亚洲va在线va天堂| 亚洲精品乱码久久久久久| 国产精品美女久久福利网站| 久久综合五月天婷婷伊人| 日韩免费高清av| 日韩欧美中文字幕一区| 欧美精品aⅴ在线视频| 91国产免费看| 91电影在线观看| 欧美性大战久久久久久久| 91亚洲永久精品| 色猫猫国产区一区二在线视频| 9人人澡人人爽人人精品| 成人午夜视频在线观看| 大胆亚洲人体视频| 成人午夜精品在线| 成人国产免费视频| 成人免费av在线| 99re视频这里只有精品| 色婷婷狠狠综合| 欧亚一区二区三区| 欧美日韩和欧美的一区二区| 欧美美女一区二区| 欧美电影免费观看高清完整版| 日韩欧美一级精品久久| 久久免费电影网| 国产人伦精品一区二区| 亚洲欧洲美洲综合色网| 亚洲综合久久久| 日本怡春院一区二区| 国内精品视频一区二区三区八戒| 国产一二三精品| av一本久道久久综合久久鬼色| 99re热视频精品| 欧美军同video69gay| 欧美成va人片在线观看| 国产欧美在线观看一区| 亚洲精品va在线观看| 秋霞午夜鲁丝一区二区老狼| 国产一区二区中文字幕| 色综合色综合色综合色综合色综合| 欧美在线观看一区二区| 日韩欧美的一区二区| 国产精品日韩精品欧美在线| 亚洲制服丝袜一区| 精品写真视频在线观看| 91亚洲国产成人精品一区二区三| 欧洲精品中文字幕| 久久久久一区二区三区四区| 亚洲男人的天堂网| 久久se精品一区二区| 色偷偷88欧美精品久久久| 制服丝袜中文字幕一区| 国产精品三级久久久久三级| 婷婷中文字幕一区三区| 成人小视频在线| 欧美一级午夜免费电影| 亚洲婷婷在线视频| 裸体健美xxxx欧美裸体表演| www.亚洲人| 精品国产青草久久久久福利| 亚洲精品乱码久久久久久| 色综合天天性综合| 色94色欧美sute亚洲线路一久| 91精品国产一区二区三区| 国产精品全国免费观看高清| 日本vs亚洲vs韩国一区三区| 一本色道久久综合精品竹菊| 久久亚洲捆绑美女| 久久国产精品99久久人人澡| 91久久国产综合久久| 国产日韩欧美不卡| 久久99久久精品| 欧美日本一区二区三区| 自拍偷拍国产精品| 国产精一品亚洲二区在线视频| 欧美人xxxx| 亚洲美女屁股眼交3| 粉嫩嫩av羞羞动漫久久久| 日韩一级免费一区| 亚洲国产精品麻豆| 91美女片黄在线观看91美女| 国产欧美一区二区精品性| 韩国理伦片一区二区三区在线播放 | 97久久人人超碰| 国产亚洲女人久久久久毛片| 美女高潮久久久| 久久久综合精品| 久久久青草青青国产亚洲免观| 婷婷国产v国产偷v亚洲高清| 日本韩国欧美在线| 一色屋精品亚洲香蕉网站| 国产精品一区在线| 欧美精品一区二区三区蜜桃 | 国产欧美一区视频| 国产在线精品免费av| 日韩欧美黄色影院| 另类欧美日韩国产在线| 日韩视频中午一区| 久久国产乱子精品免费女| 欧美tickling挠脚心丨vk| 久久99精品一区二区三区| 26uuu成人网一区二区三区| 国产精品资源站在线| 久久久久久久久蜜桃|