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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? visualfx.h

?? 一個串口通信的程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*#############################################################################
# VISUALFX.H
#
# SCA Software International S.A.
# http://www.scasoftware.com
# scaadmin@scasoftware.com
#
# Copyright (c) 1999 SCA Software International S.A.
#
# Date: 03.01.2000
# Author: Zoran M.Todorovic
#
# This software is provided "AS IS", without a warranty of any kind.
# You are free to use/modify this code but leave this header intact.
#
#############################################################################*/

#ifndef __TABWINDOW_H__
#define __TABWINDOW_H__

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#pragma warning(disable: 4786)

#ifndef __AFXEXT_H__
#include <afxext.h>
#endif

#include <list>
#include <map>

using namespace std;

//=============================================================================
// class TTabItem
//
// This class holds a description of one tab
//=============================================================================

class TTabItem {
private:
  CWnd *m_pWnd;             // Window (view) associated with this tab
  CStatic *m_pCaption;      // Caption of this tab
  BOOL m_bWndEnabled;       // Is window enabled
  BOOL m_bEnabled;          // Is tab enabled
  BOOL m_bVisible;          // Is tab visible
  int m_nMinX;              // Client left X coordinate
  int m_nMaxX;              // Client right X coordinate
  HICON m_hIcon;            // Optional icon handle for tab

public:
  TTabItem(CWnd *pParent, LPCTSTR label, HICON hIcon = NULL);
  TTabItem(const TTabItem& obj);
  TTabItem& operator=(const TTabItem& obj);
  virtual ~TTabItem();
  
  void SetRect(CRect& rect);
  void SetFont(CFont *pFont);
  void SetIcon(HICON hIcon);

  CString GetText(void);
  void SetText(LPCTSTR szLabel);

  void Enable(BOOL bEnable);
  void EnableTab(BOOL bEnable);
  void ShowTab(BOOL nShow);
  
  int GetLength(void);
  CWnd *GetSafeWnd(void);

  friend class TTabWnd;
};

typedef list<TTabItem*> TTabItemList;

//=============================================================================
// class TTabWnd
//
//=============================================================================

class TVisualFramework;

class TTabWnd : public CWnd {
  DECLARE_DYNCREATE(TTabWnd)

public:
  enum TTabPos { TP_TOP, TP_BOTTOM };

protected:
  CBrush m_BrushBlack, m_BrushLGray;
  CPen m_PenWhite, m_PenWhite2, m_PenBlack, m_PenLGray, m_PenDGray, m_PenDGray2;
  CFont m_Font;

protected:
  int m_nSelectedTab;
  BOOL m_bLockFlag;
  TTabItemList m_TabList;
  TTabPos m_nTabPos;

private:
  TTabItem *findTabItem(int nIndex);

protected:
  void createFont();
  int drawTabTop(CDC *pDC, int x, CRect& client, TTabItem *pItem);
  int drawTabBottom(CDC *pDC, int x, CRect& client, TTabItem *pItem);
  int drawSelTabTop(CDC *pDC, int x, CRect& client, TTabItem *pItem);
  int drawSelTabBottom(CDC *pDC, int x, CRect& client, TTabItem *pItem);
  void drawClient(CDC *pDc, CRect& rect);
  void invalidateTabArea(void);
  TTabItem *addTab(CWnd *pWnd, LPCTSTR szLabel);
  BOOL updateFrame(CFrameWnd *pFrame, CWnd *pWnd);

protected:
  // Following functions are protected since tab window cannot be created outside
  // of the visual framework. Otherwise, we have memory leaks.
  
  // Create a tab window
  virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, 
                      DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, 
                      UINT nID=AFX_IDW_PANE_FIRST, CCreateContext *pContext = NULL);
  // Resize tabs
  virtual void ResizeTab(int cx = -1, int cy = -1);
  // Create pane
  virtual TTabItem *CreatePane(LPCTSTR lpszLabel, CRuntimeClass *pViewClass, 
                                CCreateContext *pContext);
  // Create splitter
	virtual TTabItem *CreatePane(LPCTSTR lpszLabel, int nRows, int nCols, 
                                CWnd *pWnd, UINT nID = AFX_IDW_PANE_FIRST);

public:
  TTabWnd();
  virtual ~TTabWnd();

  int GetTabLength(void);
  int GetTabCount(void);
  CWnd *GetTabWnd(int nIndex);
  CString GetTabLabel(int nIndex);
  void SetTabLabel(int nIndex, LPCTSTR szLabel);

  int GetTabIndex(void);
  int GetTabIndex(CWnd *pWnd);

  void Enable(int nIndex, BOOL bEnable);
  void EnableTab(int nIndex, BOOL bEnable);
  void ShowTab(int nIndex, BOOL bShow);
  
  BOOL IsTabEnabled(int nIndex);
  BOOL IsTabVisible(int nIndex);
  
  void SetFont(CFont *pFont);
  void SetTabPos(TTabPos nTabPos);

  virtual int HitTest(int x, int y);
  virtual int HitTest(CPoint& point);

  // Change active pane
  virtual BOOL SetActivePane(int nIndex, BOOL bActivate = TRUE);

  // Empty functions (implement in derived classes)
  virtual BOOL CanSetActivePane(CWnd *pOldPane, CWnd *pNewPane);
  virtual void OnSetActivePane(CWnd *pOldPane, CWnd *pNewPane);
  
protected:
  //{{AFX_MSG(TTabWnd)
  afx_msg LRESULT OnSizeParent(WPARAM, LPARAM lParam);
  afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  afx_msg void OnPaint();
  afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  afx_msg void OnDestroy();
  afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	//}}AFX_MSG
  DECLARE_MESSAGE_MAP()

  friend class TVisualFramework;
};

//=============================================================================
// class TVisualObject
//
//=============================================================================

class TVisualObject;
class TVisualFramework;

typedef list<TVisualObject*> TVisualObjectList;
typedef map<DWORD,TVisualObject*> TVisualObjectMap;

class TVisualObject {
public:
  enum TObjectStyle {
    TOS_TABTOP        = 0x00000001, // Tabs on top (tab window)
    TOS_TABBOTTOM     = 0x00000002, // Tabs on bottom (tab window)
    TOS_SELECTED      = 0x00000004  // This tab is active
  };

private:
  enum TObjectType { 
    OT_UNKNOWN,
    OT_SPLITTER,                    // Splitter window
    OT_SPLITTERVIEW,                // View within a splitter window
    OT_SPLITTERSPLITTER,            // Nested splitter window
    OT_TAB,                         // Tab window
    OT_TABVIEW,                     // View within a tab window
    OT_VIEW,                        // Plain view
  };
  
private:
  TObjectType m_nObjectType;
  DWORD m_dwId;                     // Unique identifier of this object
  CWnd *m_pWnd;                     // Window associated with this object
  CWnd *m_pParent;                  // Parent window
  CString m_strTitle;               // Title of this window
  CString m_strDescription;         // Optional description of this window
  int m_nRows;                      // Splitters: number of rows
  int m_nCols;                      // Splitters: number of columns
  int m_nRowIndex;                  // Splitter view: row index
  int m_nColIndex;                  // Splitter view: column index
  CCreateContext *m_pContext;       // Context 
  CRuntimeClass *m_pRuntimeClass;   // Class of this window
  CSize m_Size;                     // Splitter: initial size
  BOOL m_bEnabled;                  // Enable state
  DWORD m_dwStyle;                  // Additonal style (for tab window)
  CHAR m_cHotKey;                   // Optional hot key (for example, '2' for ALT+2)
  HICON m_hIcon;                    // Optional icon for tab

private:
  TVisualObject *m_pOwner;          // Owner of this child (or NULL for root level)
  TVisualFramework *m_pFramework;   // Pointer to framework that owns this object
  TVisualObjectList m_ObjectList;   // Child object list

private:
  TVisualObject();
  void zeroAll(void);
  void checkStyle(void);

public:
  // Create a plain view
  TVisualObject(DWORD dwId, CCreateContext *pContext, 
                CRuntimeClass *pClass);
  // Create a tab window or a view within a tab window
  TVisualObject(DWORD dwId, LPCTSTR szTitle, CCreateContext *pContext, 
                CRuntimeClass *pClass, DWORD dwStyle = 0);
  // Create a splitter window
  TVisualObject(DWORD dwId, LPCTSTR szTitle, int nRows, int nCols, 
                CCreateContext *pContext, DWORD dwStyle = 0); 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国成人在线视频| 日韩欧美在线1卡| 欧美高清视频不卡网| 久久精品日韩一区二区三区| 一区二区三区高清不卡| 国产91清纯白嫩初高中在线观看 | 成人午夜在线播放| 8x福利精品第一导航| 亚洲图片欧美激情| 国产成人精品1024| 精品国产凹凸成av人导航| 亚洲一区二区三区三| 91麻豆国产香蕉久久精品| 国产亚洲综合在线| 国产一区二区三区精品视频| 欧美一区在线视频| 亚洲丶国产丶欧美一区二区三区| 成人在线综合网| 久久久久久久性| 国产精品18久久久久久vr| 国产日韩影视精品| 青青青伊人色综合久久| 欧美三级电影网| 夜夜嗨av一区二区三区四季av| 99这里都是精品| 国产精品嫩草99a| 99久久精品免费观看| 欧美激情在线一区二区| 国产精品 日产精品 欧美精品| 欧美电视剧在线看免费| 韩国精品一区二区| 国产日本欧美一区二区| 成人99免费视频| 中文字幕日韩av资源站| www.亚洲色图| 亚洲免费资源在线播放| 91免费看`日韩一区二区| 中文字幕亚洲成人| 欧美亚洲愉拍一区二区| 亚洲国产视频在线| 91精品国产综合久久精品麻豆 | 亚洲人成人一区二区在线观看| 成人av在线电影| 亚洲女女做受ⅹxx高潮| 欧美三级中文字幕在线观看| 亚洲国产视频在线| 精品久久久久久久久久久久久久久 | 日欧美一区二区| 91精品国产综合久久精品麻豆| 日韩不卡手机在线v区| 精品毛片乱码1区2区3区| 国产99久久久精品| 一区二区三区成人| 欧美一二三区在线| 成人一道本在线| 一区二区三区中文字幕精品精品| 欧美精品丝袜久久久中文字幕| 久久机这里只有精品| 国产精品高清亚洲| 欧美二区在线观看| 国产成人综合视频| 亚洲高清在线视频| 久久精品视频一区| 欧美日韩一区二区三区不卡| 久久精品久久久精品美女| 国产精品视频一二| 精品视频999| 国产**成人网毛片九色| 亚洲大片精品永久免费| 欧美精品一区二区高清在线观看| 成人的网站免费观看| 日本不卡的三区四区五区| 国产精品国产a级| 欧美白人最猛性xxxxx69交| 91尤物视频在线观看| 青青草国产成人av片免费| 日本一区二区三区高清不卡| 7777精品伊人久久久大香线蕉经典版下载| 久久66热偷产精品| 五月激情综合色| 亚洲欧洲日韩av| 精品少妇一区二区三区免费观看| 色综合色狠狠综合色| 国产原创一区二区三区| 丝袜美腿亚洲一区二区图片| 日韩精品电影在线观看| 国产性色一区二区| 日韩一区二区三区电影在线观看| 99精品一区二区| 国产精品一区在线观看你懂的| 亚洲高清免费视频| 亚洲欧美视频一区| 国产精品素人视频| 久久久久国产精品麻豆ai换脸| 欧美丰满少妇xxxbbb| 91老司机福利 在线| 国产黄人亚洲片| 精油按摩中文字幕久久| 日韩电影在线观看一区| 综合久久国产九一剧情麻豆| 久久久午夜精品理论片中文字幕| 日韩一区二区影院| 欧美日韩国产精选| 欧美日韩国产大片| 欧美日韩国产首页在线观看| 色94色欧美sute亚洲线路一久 | 88在线观看91蜜桃国自产| 色狠狠色噜噜噜综合网| 91香蕉视频mp4| 91看片淫黄大片一级在线观看| 成人性生交大片免费看中文| 国产福利精品一区| 国产成人免费视频网站高清观看视频| 精品夜夜嗨av一区二区三区| 久久99国产精品成人| 极品少妇xxxx精品少妇| 久久精品国产久精国产| 极品少妇xxxx精品少妇| 国内精品视频一区二区三区八戒| 老鸭窝一区二区久久精品| 免费成人性网站| 国产一区二区日韩精品| 国产成人在线视频免费播放| 顶级嫩模精品视频在线看| 成人app在线| 欧美最猛性xxxxx直播| 欧美色成人综合| 日韩亚洲电影在线| 久久香蕉国产线看观看99| 国产免费成人在线视频| 自拍偷拍欧美精品| 亚洲国产精品综合小说图片区| 香蕉成人啪国产精品视频综合网| 天堂资源在线中文精品| 精品一区二区三区香蕉蜜桃| 福利一区二区在线观看| www.色综合.com| 欧美日韩aaaaaa| 久久久久久影视| 亚洲欧美一区二区久久 | 中文字幕一区二区三区乱码在线| 亚洲色图欧洲色图婷婷| 亚洲国产成人tv| 国产一区二区不卡在线| 91丨porny丨在线| 4hu四虎永久在线影院成人| 久久综合精品国产一区二区三区| 亚洲国产激情av| 亚洲成人动漫在线观看| 国产精品小仙女| 欧美日韩专区在线| 国产调教视频一区| 亚洲成a人片在线不卡一二三区| 激情小说亚洲一区| 欧美一级久久久久久久大片| 欧美韩国日本不卡| 日本中文字幕一区二区视频| 成人开心网精品视频| 正在播放亚洲一区| 亚洲欧洲韩国日本视频| 麻豆成人在线观看| 91色在线porny| 久久久精品中文字幕麻豆发布| 一二三区精品视频| 国产大陆a不卡| 欧美成人vr18sexvr| 亚洲影院在线观看| 99久久精品国产一区| 2021国产精品久久精品| 天天综合网天天综合色| 99re成人精品视频| 久久久亚洲欧洲日产国码αv| 亚洲6080在线| 91网址在线看| 欧美国产精品专区| 国产一区二区调教| 9191成人精品久久| 亚洲综合一区在线| 99久久婷婷国产综合精品| 久久久久久久综合日本| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩精品一二三区| 亚洲男人天堂av| 99热在这里有精品免费| 中文字幕精品综合| 国产黑丝在线一区二区三区| 精品久久久久久久久久久院品网 | 亚洲黄网站在线观看| www.欧美.com| 国产欧美视频在线观看| 狠狠色丁香婷综合久久| 欧美tk—视频vk| 国内成+人亚洲+欧美+综合在线| 欧美一区二区视频观看视频| 三级不卡在线观看| 欧美一区二区三区成人| 日韩高清一区二区| 日韩一区二区三区视频在线| 日本视频免费一区| 日韩欧美精品三级|