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

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

?? gridctrl.h

?? freescale atk source code
?? H
?? 第 1 頁 / 共 3 頁
字號:
/////////////////////////////////////////////////////////////////////////////
// GridCtrl.h : header file
//
// MFC Grid Control - main header
//
// Written by Chris Maunder <cmaunder@mail.com>
// Copyright (c) 1998-2004. All Rights Reserved.
//
// This code may be used in compiled form in any way you desire. This
// file may be redistributed unmodified by any means PROVIDING it is 
// not sold for profit without the authors written consent, and 
// providing that this notice and the authors name and all copyright 
// notices remains intact. 
//
// An email letting me know how you are using it would be nice as well. 
//
// This file is provided "as is" with no expressed or implied warranty.
// The author accepts no liability for any damage/loss of business that
// this product may cause.
//
// For use with CGridCtrl v2.20+
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GRIDCTRL_H__519FA702_722C_11D1_ABBA_00A0243D1382__INCLUDED_)
#define AFX_GRIDCTRL_H__519FA702_722C_11D1_ABBA_00A0243D1382__INCLUDED_

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

#include "CellRange.h"
#include "GridCell.h"
#include <afxtempl.h>


///////////////////////////////////////////////////////////////////////////////////
// Defines - these determine the features (and the final size) of the final code
///////////////////////////////////////////////////////////////////////////////////

//#define GRIDCONTROL_NO_TITLETIPS   // Do not use titletips for cells with large data
//#define GRIDCONTROL_NO_DRAGDROP    // Do not use OLE drag and drop
//#define GRIDCONTROL_NO_CLIPBOARD   // Do not use clipboard routines

#ifdef _WIN32_WCE
#   define GRIDCONTROL_NO_TITLETIPS   // Do not use titletips for cells with large data
#   define GRIDCONTROL_NO_DRAGDROP    // Do not use OLE drag and drop
#   define GRIDCONTROL_NO_CLIPBOARD   // Do not use clipboard routines
#   define GRIDCONTROL_NO_PRINTING    // Do not use printing routines
#   ifdef WCE_NO_PRINTING			  // Older versions of CE had different #def's
#       define _WIN32_WCE_NO_PRINTING
#   endif
#   ifdef WCE_NO_CURSOR
#       define _WIN32_WCE_NO_CURSOR
#   endif
#endif  // _WIN32_WCE

// Use this as the classname when inserting this control as a custom control
// in the MSVC++ dialog editor
#define GRIDCTRL_CLASSNAME    _T("MFCGridCtrl")  // Window class name
#define IDC_INPLACE_CONTROL   8                  // ID of inplace edit controls


///////////////////////////////////////////////////////////////////////////////////
// Conditional includes
///////////////////////////////////////////////////////////////////////////////////

#ifndef GRIDCONTROL_NO_TITLETIPS
#   include "TitleTip.h"
#endif

#ifndef GRIDCONTROL_NO_DRAGDROP
#   include "GridDropTarget.h"
#   undef GRIDCONTROL_NO_CLIPBOARD     // Force clipboard functions on
#endif

#ifndef GRIDCONTROL_NO_CLIPBOARD
#   include <afxole.h>
#endif


///////////////////////////////////////////////////////////////////////////////////
// Helper functions
///////////////////////////////////////////////////////////////////////////////////

// Handy functions
#define IsSHIFTpressed() ( (GetKeyState(VK_SHIFT) & (1 << (sizeof(SHORT)*8-1))) != 0   )
#define IsCTRLpressed()  ( (GetKeyState(VK_CONTROL) & (1 << (sizeof(SHORT)*8-1))) != 0 )

// Backwards compatibility for pre 2.20 grid versions
#define DDX_GridControl(pDX, nIDC, rControl)  DDX_Control(pDX, nIDC, rControl)     


///////////////////////////////////////////////////////////////////////////////////
// Structures
///////////////////////////////////////////////////////////////////////////////////

// This structure sent to Grid's parent in a WM_NOTIFY message
typedef struct tagNM_GRIDVIEW {
    NMHDR hdr;
    int   iRow;
    int   iColumn;
} NM_GRIDVIEW;

// This is sent to the Grid from child in-place edit controls
typedef struct tagGV_DISPINFO {
    NMHDR   hdr;
    GV_ITEM item;
} GV_DISPINFO;

// This is sent to the Grid from child in-place edit controls
typedef struct tagGV_CACHEHINT {
    NMHDR      hdr;
    CCellRange range;
} GV_CACHEHINT;

// storage typedef for each row in the grid
typedef CTypedPtrArray<CObArray, CGridCellBase*> GRID_ROW;

// For virtual mode callback
typedef BOOL (CALLBACK* GRIDCALLBACK)(GV_DISPINFO *, LPARAM);

///////////////////////////////////////////////////////////////////////////////////
// Defines
///////////////////////////////////////////////////////////////////////////////////

// Grid line/scrollbar selection
#define GVL_NONE                0L      // Neither
#define GVL_HORZ                1L      // Horizontal line or scrollbar
#define GVL_VERT                2L      // Vertical line or scrollbar
#define GVL_BOTH                3L      // Both

// Autosizing option
#define GVS_DEFAULT             0
#define GVS_HEADER              1       // Size using column fixed cells data only
#define GVS_DATA                2       // Size using column non-fixed cells data only
#define GVS_BOTH                3       // Size using column fixed and non-fixed

// Cell Searching options
#define GVNI_FOCUSED            0x0001
#define GVNI_SELECTED           0x0002
#define GVNI_DROPHILITED        0x0004
#define GVNI_READONLY           0x0008
#define GVNI_FIXED              0x0010
#define GVNI_MODIFIED           0x0020

#define GVNI_ABOVE              LVNI_ABOVE
#define GVNI_BELOW              LVNI_BELOW
#define GVNI_TOLEFT             LVNI_TOLEFT
#define GVNI_TORIGHT            LVNI_TORIGHT
#define GVNI_ALL                (LVNI_BELOW|LVNI_TORIGHT|LVNI_TOLEFT)
#define GVNI_AREA               (LVNI_BELOW|LVNI_TORIGHT)

// Hit test values (not yet implemented)
#define GVHT_DATA               0x0000
#define GVHT_TOPLEFT            0x0001
#define GVHT_COLHDR             0x0002
#define GVHT_ROWHDR             0x0004
#define GVHT_COLSIZER           0x0008
#define GVHT_ROWSIZER           0x0010
#define GVHT_LEFT               0x0020
#define GVHT_RIGHT              0x0040
#define GVHT_ABOVE              0x0080
#define GVHT_BELOW              0x0100

// Messages sent to the grid's parent (More will be added in future)
#define GVN_BEGINDRAG           LVN_BEGINDRAG        // LVN_FIRST-9
#define GVN_BEGINLABELEDIT      LVN_BEGINLABELEDIT   // LVN_FIRST-5
#define GVN_BEGINRDRAG          LVN_BEGINRDRAG
#define GVN_COLUMNCLICK         LVN_COLUMNCLICK
#define GVN_DELETEITEM          LVN_DELETEITEM
#define GVN_ENDLABELEDIT        LVN_ENDLABELEDIT     // LVN_FIRST-6
#define GVN_SELCHANGING         LVN_ITEMCHANGING
#define GVN_SELCHANGED          LVN_ITEMCHANGED
#define GVN_GETDISPINFO         LVN_GETDISPINFO 
#define GVN_ODCACHEHINT         LVN_ODCACHEHINT 

class CGridCtrl;

/////////////////////////////////////////////////////////////////////////////
// CGridCtrl window

class CGridCtrl : public CWnd
{
    DECLARE_DYNCREATE(CGridCtrl)
    friend class CGridCell;
    friend class CGridCellBase;

// Construction
public:
    CGridCtrl(int nRows = 0, int nCols = 0, int nFixedRows = 0, int nFixedCols = 0);

    BOOL Create(const RECT& rect, CWnd* parent, UINT nID,
                DWORD dwStyle = WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE);

///////////////////////////////////////////////////////////////////////////////////
// Attributes
///////////////////////////////////////////////////////////////////////////////////
public:
    int  GetRowCount() const                    { return m_nRows; }
    int  GetColumnCount() const                 { return m_nCols; }
    int  GetFixedRowCount() const               { return m_nFixedRows; }
    int  GetFixedColumnCount() const            { return m_nFixedCols; }
    BOOL SetRowCount(int nRows = 10);
    BOOL SetColumnCount(int nCols = 10);
    BOOL SetFixedRowCount(int nFixedRows = 1);
    BOOL SetFixedColumnCount(int nFixedCols = 1);

    int  GetRowHeight(int nRow) const;
    BOOL SetRowHeight(int row, int height);
    int  GetColumnWidth(int nCol) const;
    BOOL SetColumnWidth(int col, int width);

    BOOL GetCellOrigin(int nRow, int nCol, LPPOINT p);
    BOOL GetCellOrigin(const CCellID& cell, LPPOINT p);
    BOOL GetCellRect(int nRow, int nCol, LPRECT pRect);
    BOOL GetCellRect(const CCellID& cell, LPRECT pRect);

    BOOL GetTextRect(const CCellID& cell, LPRECT pRect);
    BOOL GetTextRect(int nRow, int nCol, LPRECT pRect);

    CCellID GetCellFromPt(CPoint point, BOOL bAllowFixedCellCheck = TRUE);

    int  GetFixedRowHeight() const;
    int  GetFixedColumnWidth() const;
    long GetVirtualWidth() const;
    long GetVirtualHeight() const;

    CSize GetTextExtent(int nRow, int nCol, LPCTSTR str);
    // EFW - Get extent of current text in cell
    inline CSize GetCellTextExtent(int nRow, int nCol)  { return GetTextExtent(nRow, nCol, GetItemText(nRow,nCol)); }

    void     SetGridBkColor(COLORREF clr)         { m_crGridBkColour = clr;           }
    COLORREF GetGridBkColor() const               { return m_crGridBkColour;          }
    void     SetGridLineColor(COLORREF clr)       { m_crGridLineColour = clr;         }
    COLORREF GetGridLineColor() const             { return m_crGridLineColour;        }

	void	 SetTitleTipBackClr(COLORREF clr = CLR_DEFAULT) { m_crTTipBackClr = clr;  }
	COLORREF GetTitleTipBackClr()				            { return m_crTTipBackClr; }
	void	 SetTitleTipTextClr(COLORREF clr = CLR_DEFAULT) { m_crTTipTextClr = clr;  }
	COLORREF GetTitleTipTextClr()				            { return m_crTTipTextClr; }

    // ***************************************************************************** //
    // These have been deprecated. Use GetDefaultCell and then set the colors
    void     SetTextColor(COLORREF clr)      { m_cellDefault.SetTextClr(clr);        }
    COLORREF GetTextColor()                  { return m_cellDefault.GetTextClr();    }
    void     SetTextBkColor(COLORREF clr)    { m_cellDefault.SetBackClr(clr);        }
    COLORREF GetTextBkColor()                { return m_cellDefault.GetBackClr();    }
    void     SetFixedTextColor(COLORREF clr) { m_cellFixedRowDef.SetTextClr(clr); 
                                               m_cellFixedColDef.SetTextClr(clr); 
                                               m_cellFixedRowColDef.SetTextClr(clr); }
    COLORREF GetFixedTextColor() const       { return m_cellFixedRowDef.GetTextClr(); }
    void     SetFixedBkColor(COLORREF clr)   { m_cellFixedRowDef.SetBackClr(clr); 
                                               m_cellFixedColDef.SetBackClr(clr); 
                                               m_cellFixedRowColDef.SetBackClr(clr); }
    COLORREF GetFixedBkColor() const         { return m_cellFixedRowDef.GetBackClr(); }
    void     SetGridColor(COLORREF clr)      { SetGridLineColor(clr);                }
    COLORREF GetGridColor()                  { return GetGridLineColor();            }
    void     SetBkColor(COLORREF clr)        { SetGridBkColor(clr);                  }
    COLORREF GetBkColor()                    { return GetGridBkColor();              }

    void     SetDefCellMargin( int nMargin)  { m_cellDefault.SetMargin(nMargin); 
                                               m_cellFixedRowDef.SetMargin(nMargin); 
                                               m_cellFixedColDef.SetMargin(nMargin); 
                                               m_cellFixedRowColDef.SetMargin(nMargin); }
    int      GetDefCellMargin() const        { return m_cellDefault.GetMargin();     }

    int      GetDefCellHeight() const        { return m_cellDefault.GetHeight();     }
    void     SetDefCellHeight(int nHeight)   { m_cellDefault.SetHeight(nHeight); 
                                               m_cellFixedRowDef.SetHeight(nHeight); 
                                               m_cellFixedColDef.SetHeight(nHeight); 
                                               m_cellFixedRowColDef.SetHeight(nHeight); }
    int      GetDefCellWidth() const         { return m_cellDefault.GetWidth();     }
    void     SetDefCellWidth(int nWidth)     { m_cellDefault.SetWidth(nWidth); 
                                               m_cellFixedRowDef.SetWidth(nWidth); 
                                               m_cellFixedColDef.SetWidth(nWidth); 
                                               m_cellFixedRowColDef.SetWidth(nWidth); }

    // ***************************************************************************** //

    int GetSelectedCount() const                  { return (int)m_SelectedCellMap.GetCount(); }

    CCellID SetFocusCell(CCellID cell);
    CCellID SetFocusCell(int nRow, int nCol);
    CCellID GetFocusCell() const                  { return m_idCurrentCell;           }


    void SetVirtualMode(BOOL bVirtual);
    BOOL GetVirtualMode() const                   { return m_bVirtualMode;            }
    void SetCallbackFunc(GRIDCALLBACK pCallback, 
                         LPARAM lParam)           { m_pfnCallback = pCallback; m_lParam = lParam; }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91影视在线播放| 五月婷婷激情综合| 成人永久aaa| 国产精品乱码人人做人人爱| 高清av一区二区| 亚洲欧洲在线观看av| 欧美性色黄大片| 蜜桃av噜噜一区| 欧美国产日韩一二三区| 91尤物视频在线观看| 婷婷国产在线综合| 26uuu色噜噜精品一区| 不卡av免费在线观看| 一级做a爱片久久| 欧美一二三区在线观看| 国产999精品久久久久久绿帽| 亚洲精品国产一区二区精华液| 欧美高清视频一二三区| 国产精品99久久久久久有的能看| 成人免费在线视频| 5858s免费视频成人| 国产成人精品一区二区三区四区 | 91亚洲精华国产精华精华液| 一区二区高清免费观看影视大全| 日韩欧美一区在线观看| 波多野洁衣一区| 日日骚欧美日韩| 欧美国产激情一区二区三区蜜月| 欧美色综合网站| 国产精品一二三四| 亚洲国产精品精华液网站| 久久色.com| 欧美三级韩国三级日本三斤| 国产成人精品一区二| 午夜精品福利一区二区蜜股av | 色婷婷激情综合| 国产一区二区三区综合| 亚洲自拍偷拍av| 国产欧美日韩一区二区三区在线观看| 欧美日韩成人综合| 成人ar影院免费观看视频| 久久成人免费日本黄色| 一区二区三区在线免费播放| 国产三区在线成人av| 678五月天丁香亚洲综合网| 色哟哟一区二区| 成人在线一区二区三区| 国产自产视频一区二区三区| 五月婷婷欧美视频| 亚洲精品菠萝久久久久久久| 国产精品素人一区二区| 精品久久久久久久久久久久久久久| 欧美午夜在线观看| 91蜜桃婷婷狠狠久久综合9色| 国产一区二区看久久| 七七婷婷婷婷精品国产| 亚洲高清视频的网址| 一区二区三区在线视频免费 | 国产乱一区二区| 麻豆精品在线播放| 日本亚洲一区二区| 亚洲成人动漫一区| 亚洲午夜精品一区二区三区他趣| 亚洲欧美一区二区不卡| 中文字幕一区二区三| 日本一区二区三区四区| 久久精品亚洲精品国产欧美| 精品成人在线观看| 精品国产一区二区三区忘忧草| 欧美丰满少妇xxxbbb| 欧美日韩一级片在线观看| 欧美怡红院视频| 欧美性色黄大片| 欧美老人xxxx18| 在线播放日韩导航| 在线电影一区二区三区| 欧美精品电影在线播放| 日韩一区二区三区在线观看| 日韩欧美在线影院| 精品1区2区在线观看| 久久精品人人做人人综合| 久久精品一二三| 国产精品福利一区| 亚洲欧美激情小说另类| 亚洲国产裸拍裸体视频在线观看乱了| 午夜欧美大尺度福利影院在线看| 亚洲不卡在线观看| 久久精品久久精品| 国产成人综合网站| av日韩在线网站| 欧美日韩精品免费观看视频| 欧美一区日本一区韩国一区| 欧美xxxxxxxxx| 国产欧美va欧美不卡在线| 亚洲视频一区二区在线| 午夜精品一区在线观看| 精品一区二区三区的国产在线播放| 国产真实乱对白精彩久久| zzijzzij亚洲日本少妇熟睡| 欧美午夜一区二区| 久久综合狠狠综合| 亚洲欧美日韩系列| 91国在线观看| 日本伊人午夜精品| 成人高清av在线| 欧美色图在线观看| 97se亚洲国产综合在线| 91麻豆国产在线观看| 欧美另类一区二区三区| 国产人妖乱国产精品人妖| 精品国产一区二区三区四区四| 国产亚洲视频系列| 亚洲综合一二三区| 亚洲一区中文日韩| 97精品视频在线观看自产线路二| 久久婷婷国产综合国色天香| 麻豆精品在线观看| 日韩欧美中文一区| 日韩中文字幕一区二区三区| 在线观看日韩电影| 亚洲特级片在线| 丰满少妇久久久久久久| 日韩欧美国产麻豆| 麻豆中文一区二区| 日韩视频不卡中文| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美日韩一区在线观看| 一区二区激情小说| 欧美影视一区二区三区| 亚洲福利一二三区| 欧美探花视频资源| 午夜国产精品一区| 欧美人与性动xxxx| 日本午夜一区二区| 欧美一级片免费看| 久久国产精品区| 精品国产乱码久久久久久久久| 麻豆精品一区二区av白丝在线 | 国产网红主播福利一区二区| 国产高清不卡一区二区| 国产拍揄自揄精品视频麻豆| 懂色av中文字幕一区二区三区| 国产亚洲精品福利| 成人精品免费看| 综合久久久久综合| 欧美午夜精品久久久久久孕妇| 天天操天天色综合| 欧美大尺度电影在线| 国产精品一品二品| 亚洲欧美在线视频| 日本久久电影网| 丝袜诱惑亚洲看片| 日韩欧美国产麻豆| 丰满白嫩尤物一区二区| 亚洲青青青在线视频| 欧美日韩国产大片| 久久av中文字幕片| 国产精品美女久久久久久| 在线视频你懂得一区| 免费人成在线不卡| 国产日产欧美一区| 在线免费不卡视频| 极品少妇xxxx精品少妇| 国产精品久久免费看| 欧美日韩一区成人| 国产一区二区三区免费在线观看| 国产精品国产三级国产aⅴ中文| 精品视频在线视频| 韩国av一区二区三区在线观看| 自拍偷拍欧美激情| 日韩美女视频在线| 97久久精品人人爽人人爽蜜臀| 午夜精品一区二区三区电影天堂 | 亚洲视频1区2区| 欧美一区二区三区免费在线看| 成人免费视频视频在线观看免费| 亚洲国产aⅴ天堂久久| 久久先锋影音av鲁色资源网| 色婷婷国产精品久久包臀| 精品一二线国产| 亚洲蜜臀av乱码久久精品蜜桃| 日韩欧美国产一区在线观看| 不卡欧美aaaaa| 日产国产高清一区二区三区| 国产精品每日更新| 欧美一区二区免费视频| 91小视频免费看| 国产精品456露脸| 亚洲第四色夜色| 亚洲四区在线观看| 精品国产免费久久| 欧美体内she精高潮| 成人午夜av在线| 六月丁香婷婷色狠狠久久| 亚洲高清视频在线| 亚洲蜜桃精久久久久久久| 久久久久国色av免费看影院| 欧美一区二区三区公司| 色婷婷亚洲精品| 不卡视频一二三四|