亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
bt欧美亚洲午夜电影天堂| 97se亚洲国产综合在线| 波多野结衣亚洲一区| 欧美色精品天天在线观看视频| 日韩精品一区二区三区四区 | 中文字幕一区二区三区精华液 | 色婷婷激情综合| 久久欧美中文字幕| 午夜精品福利在线| 91在线丨porny丨国产| 久久综合九色综合欧美就去吻| 亚洲最新视频在线观看| 国产91综合一区在线观看| 911精品国产一区二区在线| 亚洲少妇30p| 国产精品自产自拍| 在线播放亚洲一区| 亚洲人成在线观看一区二区| 国产很黄免费观看久久| 欧美成人在线直播| 奇米色一区二区| 欧美色中文字幕| 亚洲一区电影777| 在线观看视频91| 亚洲精品v日韩精品| 91在线视频免费91| 亚洲欧洲精品一区二区三区 | 国产成人亚洲综合a∨猫咪| 精品久久久久久最新网址| 五月天精品一区二区三区| 精品处破学生在线二十三| 免费视频一区二区| 9191精品国产综合久久久久久| 亚洲va欧美va人人爽| 欧美性猛交xxxxxx富婆| 亚洲一区二区三区中文字幕| 色激情天天射综合网| 一区二区三区四区视频精品免费| 99久久综合99久久综合网站| 一区在线观看视频| 91麻豆国产精品久久| 亚洲美女少妇撒尿| 色8久久人人97超碰香蕉987| 亚洲免费在线视频| 91精品1区2区| 香蕉久久一区二区不卡无毒影院| 欧美日韩午夜精品| 男男成人高潮片免费网站| 欧美成人精精品一区二区频| 国产在线播放一区三区四| 欧美激情在线看| 91麻豆免费视频| 亚洲丰满少妇videoshd| 日韩一区二区高清| 国产精品主播直播| |精品福利一区二区三区| 一本到高清视频免费精品| 一区二区日韩电影| 日韩一区和二区| 国产成人免费在线观看不卡| 最新热久久免费视频| 欧美日韩精品免费| 国产精品91xxx| 亚洲精品乱码久久久久久黑人| 88在线观看91蜜桃国自产| 国产麻豆9l精品三级站| 亚洲色图制服诱惑| 欧美精品成人一区二区三区四区| 国模无码大尺度一区二区三区| 中文字幕亚洲不卡| 6080日韩午夜伦伦午夜伦| 国产成人夜色高潮福利影视| 亚洲成年人网站在线观看| 精品欧美乱码久久久久久| 99精品在线观看视频| 美女精品一区二区| 亚洲美女偷拍久久| 久久色.com| 欧美日韩一区二区三区不卡| 国产精品18久久久久| 亚洲mv在线观看| 亚洲国产精品高清| 欧美一区二区大片| 一本到一区二区三区| 国产福利电影一区二区三区| 亚洲成人免费看| 亚洲欧美日韩国产综合在线| 亚洲伊人色欲综合网| 精品91自产拍在线观看一区| 色菇凉天天综合网| 国产成人av网站| 毛片av一区二区三区| 亚洲综合在线视频| 国产精品成人免费在线| 精品伦理精品一区| 欧美老年两性高潮| 91黄色小视频| 不卡av电影在线播放| 国产乱码精品一区二区三区忘忧草 | 日韩一区二区在线免费观看| 欧美亚一区二区| 91亚洲精品一区二区乱码| 国产精品综合在线视频| 久久99国产精品尤物| 丝袜脚交一区二区| 亚洲成人先锋电影| 一区二区在线观看免费| 综合中文字幕亚洲| 国产精品久久毛片a| 国产欧美一区二区精品性色| 久久综合色之久久综合| 日韩欧美国产1| 日韩亚洲欧美在线观看| 91精品福利在线一区二区三区| 色激情天天射综合网| 91丨九色porny丨蝌蚪| 色综合久久久久综合99| 99久久婷婷国产综合精品| av毛片久久久久**hd| 91亚洲精品一区二区乱码| 99热国产精品| 91亚洲精品久久久蜜桃| 99re在线视频这里只有精品| 97超碰欧美中文字幕| 欧美亚洲日本国产| 欧美区视频在线观看| 欧美乱妇23p| 欧美成人性福生活免费看| www久久久久| 国产精品高潮呻吟久久| 综合亚洲深深色噜噜狠狠网站| 1024成人网| 亚洲午夜久久久久久久久久久| 亚洲成av人片一区二区三区| 偷拍自拍另类欧美| 六月丁香婷婷久久| 国产高清不卡一区二区| 色菇凉天天综合网| 欧美一区二区免费| 国产欧美一区二区精品忘忧草 | 国产精品人成在线观看免费| 亚洲激情六月丁香| 视频在线在亚洲| 国产成人综合自拍| 成人97人人超碰人人99| 在线观看av一区| 日韩欧美一卡二卡| 一区二区三区在线影院| 日韩电影一二三区| 精品一区二区三区欧美| 成人小视频在线观看| 欧洲一区二区三区在线| 日韩视频免费观看高清完整版在线观看 | 亚洲人吸女人奶水| 美女诱惑一区二区| www.亚洲免费av| 91精品国模一区二区三区| 久久精品在线免费观看| 一级做a爱片久久| 精品一区二区成人精品| 91免费观看在线| 精品国一区二区三区| 樱花草国产18久久久久| 国产一区二区三区香蕉| 麻豆成人久久精品二区三区红| 午夜日韩在线观看| 极品少妇xxxx精品少妇| 91福利国产精品| 国产欧美日韩中文久久| 午夜激情一区二区| 成人动漫在线一区| 日韩欧美在线123| 亚洲午夜久久久久久久久久久| 国产传媒日韩欧美成人| 日韩一区二区三区在线视频| 亚洲精品视频在线观看网站| 久久国产综合精品| 精品视频一区 二区 三区| 国产精品区一区二区三区| 麻豆国产精品777777在线| 精品视频在线视频| 亚洲男人的天堂av| 成人免费电影视频| 精品国产免费人成电影在线观看四季 | 久久久亚洲精品石原莉奈| 亚洲一卡二卡三卡四卡五卡| jizzjizzjizz欧美| 久久综合九色综合97婷婷女人| 亚洲chinese男男1069| av福利精品导航| 国产女人水真多18毛片18精品视频| 全部av―极品视觉盛宴亚洲| 欧美色手机在线观看| 亚洲欧洲制服丝袜| 91免费看`日韩一区二区| 亚洲国产精品99久久久久久久久| 韩国欧美国产一区| 日韩精品中午字幕| 久久99精品国产91久久来源| 91麻豆精品国产91|