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

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

?? gridctrl.h

?? 坐標轉換工具 WGS84坐標轉換為地方坐標系的程序 以及各種三維坐標系之間的轉換
?? H
?? 第 1 頁 / 共 2 頁
字號:
#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

/////////////////////////////////////////////////////////////////////////////
// GridCtrl.h : header file
//
// MFC Grid Control header file
//
// Written by Chris Maunder (chrismaunder@codeguru.com)
// Copyright (c) 1998.
//
// The code contained in this file is based on the original
// WorldCom Grid control written by Joe Willcoxson,
//        E-mail:  chinajoe@aol.com
//        URL:  http://users.aol.com/chinajoe
//
// 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. If the source code in this file is used in 
// any  commercial application then a statement along the lines of 
// "Portions copyright (c) Chris Maunder, 1998" must be included in 
// the startup banner, "About" box or printed documentation. An email 
// letting me know that you are using it would be nice as well. That's 
// not much to ask considering the amount of work that went into this.
//
// 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.
//
// Expect bugs!
// 
// Please use and enjoy. Please let me know of any bugs/mods/improvements 
// that you have found/implemented and I will fix/incorporate them into this
// file. 
//
/////////////////////////////////////////////////////////////////////////////

#define GRIDCONTROL_USE_TITLETIPS       // Use titletips for cells with large data
#define GRIDCONTROL_USE_OLE_DRAGDROP    // Use OLE drag and drop

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

#ifdef GRIDCONTROL_USE_TITLETIPS
#include "TitleTip.h"
#endif

#ifdef GRIDCONTROL_USE_OLE_DRAGDROP
#include "GridDropTarget.h"
#else
#include <afxole.h>                     // This is sloppy I know...
#endif

// Use this as the classname when inserting this control as a custom control
// in the MSVC++ dialog editor
#define GRIDCTRL_CLASSNAME _T("MFCGridCtrl")

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

// Used for Get/SetItem calls.
typedef struct _GV_ITEM { 
    int      row,col;     // Row and Column of item
    UINT     mask;        // Mask for use in getting/setting cell data
    UINT     state;       // cell state (focus/hilighted etc)
    UINT     nFormat;     // Format of cell
    CString  szText;      // Text in cell
    int      iImage;      // index of the list view item抯 icon
    COLORREF crBkClr;     // Background colour (or CLR_DEFAULT)
    COLORREF crFgClr;     // Forground colour (or CLR_DEFAULT)
    LPARAM   lParam;      // 32-bit value to associate with item 
    LOGFONT  lfFont;      // Cell font
} GV_ITEM; 

// Grid line selection
#define GVL_NONE                0
#define GVL_HORZ                1
#define GVL_VERT                2
#define GVL_BOTH                3

// Cell data mask
#define GVIF_TEXT               LVIF_TEXT
#define GVIF_IMAGE              LVIF_IMAGE
#define GVIF_PARAM              LVIF_PARAM
#define GVIF_STATE              LVIF_STATE
#define GVIF_BKCLR              (GVIF_STATE<<1)
#define GVIF_FGCLR              (GVIF_STATE<<2)
#define GVIF_FORMAT             (GVIF_STATE<<3)
#define GVIF_FONT               (GVIF_STATE<<4)

// Cell states
#define GVIS_FOCUSED            0x0001
#define GVIS_SELECTED           0x0002
#define GVIS_DROPHILITED        0x0004
#define GVIS_READONLY           0x0008

// Cell Searching options
#define GVNI_FOCUSED            0x0001
#define GVNI_SELECTED           0x0002
#define GVNI_DROPHILITED        0x0004
#define GVNI_READONLY           0x0008

#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)

// 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

typedef struct tagNM_GRIDVIEW { 
    NMHDR hdr; 
    int   iRow; 
    int   iColumn; 
} NM_GRIDVIEW;

typedef struct tagGV_DISPINFO { 
    NMHDR   hdr; 
    GV_ITEM item; 
} GV_DISPINFO;

// 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_BEGINLABELEDIT+1 // LVN_FIRST-4
#define GVN_SELCHANGED          LVN_BEGINLABELEDIT+2 // LVN_FIRST-3



// Each cell contains one of these. Fields "row" and "column" are not stored since we
// will usually have acces to them in other ways, and they are an extra 8 bytes per
// cell that is probably unnecessary.

class CGridCell : public CObject
{
public:
    CGridCell() 
    {
        state = 0;
        nFormat = 0;
        szText.Empty();
        iImage = -1;
        lParam = 0;
		crBkClr = CLR_DEFAULT;
		crFgClr = CLR_DEFAULT;
    }

    UINT     state;       // Cell state (selected/focus etc)
    UINT     nFormat;     // Cell format
    CString  szText;      // Cell text (or binary data if you wish...)
    int      iImage;      // Index of the list view item抯 icon 
    COLORREF crBkClr;     // Background colour (or CLR_DEFAULT)
    COLORREF crFgClr;     // Forground colour (or CLR_DEFAULT)
    LPARAM   lParam;      // 32-bit value to associate with item
    LOGFONT  lfFont;      // Cell font
}; 


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

// DDX_GridControl is used where a DDX_Control call is needed. In some strange
// situations the usual DDX_Control does not result in CGridCtrl::SubclassWindow
// or CGridCtrl::PreSubclassWindow being called. Using this version calls 
// CGridCtrl::SubclassWindow directly - ensuring that cell metrics are set properly
class CGridCtrl;
void AFXAPI DDX_GridControl(CDataExchange* pDX, int nIDC, CGridCtrl& rControl);

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

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

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

// 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) const;
    BOOL GetCellOrigin(const CCellID& cell, LPPOINT p) const;
    BOOL GetCellRect(int nRow, int nCol, LPRECT pRect) const;
    BOOL GetCellRect(const CCellID& cell, LPRECT pRect) const;

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

    void     SetTextColor(COLORREF clr)           { m_crTextColour = clr;             }
    COLORREF GetTextColor() const                 { return m_crTextColour;            }
    void     SetTextBkColor(COLORREF clr)         { m_crTextBkColour = clr;           }
    COLORREF GetTextBkColor() const               { return m_crTextBkColour;          }
    void     SetBkColor(COLORREF clr)             { m_crBkColour = clr;               }
    COLORREF GetBkColor() const                   { return m_crBkColour;              }
    void     SetFixedTextColor(COLORREF clr)      { m_crFixedTextColour = clr;        }
    COLORREF GetFixedTextColor() const            { return m_crFixedTextColour;       }
    void     SetFixedBkColor(COLORREF clr)        { m_crFixedBkColour = clr;          }
    COLORREF GetFixedBkColor() const              { return m_crFixedBkColour;         } 
    void     SetGridColor(COLORREF clr)           { m_crGridColour = clr;             }
    COLORREF GetGridColor() const                 { return m_crGridColour;            }

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

    CCellID GetFocusCell() const                  { return m_idCurrentCell;           }

    void SetImageList(CImageList* pList)          { m_pImageList = pList;             }
    CImageList* GetImageList() const              { return m_pImageList;              }

    void SetGridLines(int nWhichLines = GVL_BOTH) { m_nGridLines = nWhichLines; 
                                                    if (::IsWindow(GetSafeHwnd())) Invalidate(); }
    int  GetGridLines() const                     { return m_nGridLines;              }

    void SetEditable(BOOL bEditable = TRUE)       { m_bEditable = bEditable;          }
    BOOL IsEditable() const                       { return m_bEditable;               }
    void SetModified(BOOL bModified = TRUE)       { m_bModified = bModified;          }
    BOOL GetModified() const                      { return m_bModified;               }
    void SetListMode(BOOL bEnableListMode = TRUE) { m_bListMode = bEnableListMode;    }
    BOOL GetListMode() const                      { return m_bListMode;               }
    void EnableSelection(BOOL bEnable = TRUE)     { ResetSelectedRange(); m_bEnableSelection = bEnable; ResetSelectedRange(); }
    BOOL IsSelectable() const                     { return m_bEnableSelection;        }
    void EnableDragAndDrop(BOOL bAllow = TRUE)    { m_bAllowDragAndDrop = bAllow;     }
    BOOL GetDragAndDrop() const                   { return m_bAllowDragAndDrop;       }
    void SetRowResize(BOOL bResize = TRUE)        { m_bAllowRowResize = bResize;      }
    BOOL GetRowResize() const                     { return m_bAllowRowResize;         }
    void SetColumnResize(BOOL bResize = TRUE)     { m_bAllowColumnResize = bResize;   }
    BOOL GetColumnResize() const                  { return m_bAllowColumnResize;      }
    void SetHeaderSort(BOOL bSortOnClick = TRUE)  { m_bSortOnClick = bSortOnClick;    }
    BOOL GetHeaderSort() const                    { return m_bSortOnClick;            }
    void SetHandleTabKey(BOOL bHandleTab = TRUE)  { m_bHandleTabKey = bHandleTab;     }
    BOOL GetHandleTabKey() const                  { return m_bHandleTabKey;           }
    void SetDoubleBuffering(BOOL bBuffer = TRUE)  { m_bDoubleBuffer = bBuffer;        }
    BOOL GetDoubleBuffering() const               { return m_bDoubleBuffer;           }
    void EnableTitleTips(BOOL bEnable = TRUE)     { m_bTitleTips = bEnable;           }
    BOOL GetTitleTips()                           { return m_bTitleTips;              }

    BOOL   SetItem(const GV_ITEM* pItem);
    BOOL   GetItem(GV_ITEM* pItem);
    BOOL   SetItemText(int nRow, int nCol, LPCTSTR str);
    virtual CString GetItemText(int nRow, int nCol);
    BOOL   SetItemData(int nRow, int nCol, LPARAM lParam);
    LPARAM GetItemData(int nRow, int nCol) const;
    BOOL   SetItemImage(int nRow, int nCol, int iImage);
    int    GetItemImage(int nRow, int nCol) const;
    BOOL   SetItemState(int nRow, int nCol, UINT state);
    UINT   GetItemState(int nRow, int nCol) const;
    BOOL   SetItemFormat(int nRow, int nCol, UINT nFormat);
    UINT   GetItemFormat(int nRow, int nCol) const;
	BOOL   SetItemBkColour(int nRow, int nCol, COLORREF cr = CLR_DEFAULT);
	COLORREF GetItemBkColour(int nRow, int nCol) const;
	BOOL   SetItemFgColour(int nRow, int nCol, COLORREF cr = CLR_DEFAULT);
	COLORREF GetItemFgColour(int nRow, int nCol) const;
	BOOL SetItemFont(int nRow, int nCol, LOGFONT* lf);
	LOGFONT* GetItemFont(int nRow, int nCol) const;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人av一区二区三区| 3d成人动漫网站| 韩国成人精品a∨在线观看| 亚洲成av人片在线观看| 亚洲h精品动漫在线观看| 亚洲精品少妇30p| 一区二区三区成人| 亚洲国产精品久久久男人的天堂| 亚洲精品免费视频| 一区二区三区日本| 图片区小说区国产精品视频| 午夜私人影院久久久久| 日韩国产一二三区| 韩国精品一区二区| 不卡电影免费在线播放一区| 成人a区在线观看| 91女厕偷拍女厕偷拍高清| 色欧美日韩亚洲| 欧美在线观看18| 制服丝袜国产精品| 欧美精品一区二区在线观看| 国产日韩av一区二区| 亚洲欧洲日韩在线| 亚洲综合偷拍欧美一区色| 日产精品久久久久久久性色| 狠狠色伊人亚洲综合成人| 国产成人精品影视| 在线免费一区三区| 欧美tk—视频vk| 综合久久国产九一剧情麻豆| 性做久久久久久久久| 国产在线不卡一区| 欧洲日韩一区二区三区| 欧美一区二区三区啪啪| 中文字幕第一区综合| 亚洲成人激情综合网| 国产在线播放一区三区四| 99久久国产免费看| 日韩精品专区在线| 亚洲精品成人精品456| 久久国产精品99精品国产| 99精品视频中文字幕| 91精品欧美久久久久久动漫| 国产精品久久午夜| 蜜桃av一区二区三区电影| 99精品视频在线播放观看| 欧美一二三四区在线| 亚洲色图一区二区| 国产一区二区三区蝌蚪| 欧美日韩国产不卡| 国产精品久久久久久久久动漫| 免费在线观看日韩欧美| 色偷偷久久人人79超碰人人澡| 精品国偷自产国产一区| 亚洲美女视频在线| 大胆欧美人体老妇| 亚洲精品在线免费观看视频| 亚洲无人区一区| 91视视频在线直接观看在线看网页在线看| 欧美一三区三区四区免费在线看| 国产精品国产馆在线真实露脸 | 日韩激情一二三区| 不卡免费追剧大全电视剧网站| 欧美电视剧在线观看完整版| 亚洲一二三专区| 97久久人人超碰| 国产清纯在线一区二区www| 久久精品国产免费看久久精品| 91久久久免费一区二区| 国产精品久久毛片av大全日韩| 国产麻豆9l精品三级站| 精品奇米国产一区二区三区| 日韩专区一卡二卡| 69成人精品免费视频| 亚洲国产美国国产综合一区二区 | 国产精品福利av| 成人精品一区二区三区中文字幕| 久久伊人中文字幕| 国产一区二区三区高清播放| 日韩一区二区精品在线观看| 日韩高清不卡在线| 91麻豆精品国产91久久久久| 日本欧美在线看| 7777精品伊人久久久大香线蕉最新版| 亚洲在线中文字幕| 欧美日韩免费在线视频| 天堂蜜桃91精品| 欧美成人乱码一区二区三区| 久久电影网站中文字幕| 久久久久国产免费免费| 成人免费高清视频在线观看| 国产精品国产馆在线真实露脸| 99久久er热在这里只有精品15| 一区二区三区日韩欧美精品| 欧美精品久久99| 久久99国产精品麻豆| 国产亚洲综合av| 色综合中文字幕国产 | 久久女同精品一区二区| 丁香婷婷综合激情五月色| 亚洲视频一二区| 欧美日韩一二区| 国产最新精品免费| 国产精品久久久久久久久免费桃花 | 亚洲一级不卡视频| 日韩精品资源二区在线| 播五月开心婷婷综合| 午夜视频在线观看一区| 国产日韩欧美综合在线| 色吧成人激情小说| 精品一区二区免费看| 亚洲丝袜另类动漫二区| 欧美日本免费一区二区三区| 国产一区二三区| 亚洲综合在线第一页| 欧美v亚洲v综合ⅴ国产v| 91蝌蚪国产九色| 国产一区二区三区蝌蚪| 亚洲国产精品一区二区www| 久久久久久麻豆| 欧美日本视频在线| 91香蕉视频污在线| 九九久久精品视频| 亚洲gay无套男同| 国产精品国产三级国产三级人妇 | 91精品国产色综合久久不卡电影 | 色婷婷久久综合| 激情图区综合网| 婷婷六月综合网| 成人免费在线播放视频| 日韩精品一区二区三区中文精品| 91免费版在线| 成人夜色视频网站在线观看| 日本亚洲欧美天堂免费| 日韩一区欧美小说| 国产人伦精品一区二区| 日韩欧美国产三级| 欧美精品一二三| 欧美午夜精品理论片a级按摩| 成人黄色在线网站| 国产精品亚洲а∨天堂免在线| 日韩av网站在线观看| 一级日本不卡的影视| 国产精品不卡视频| 中文字幕欧美日本乱码一线二线 | 99久久伊人精品| 国产乱码精品一品二品| 极品瑜伽女神91| 精品无人码麻豆乱码1区2区 | 国模娜娜一区二区三区| 久久精品噜噜噜成人88aⅴ| 日韩av中文字幕一区二区| 亚洲国产精品久久不卡毛片 | 日本一区二区成人在线| 久久综合丝袜日本网| 亚洲精品一区二区三区影院 | 91污在线观看| 色综合天天在线| 欧美在线观看一区| 欧美乱妇15p| 欧美日韩免费一区二区三区| 欧美精品久久久久久久久老牛影院| 欧美午夜精品久久久| 欧美三级一区二区| 91精品国产欧美一区二区成人| 91精品国产综合久久精品麻豆| 欧美一区二区视频在线观看| 91精品国产乱| 国产欧美日韩精品a在线观看| 中文字幕第一区综合| 亚洲日本在线看| 亚洲va欧美va人人爽午夜| 免费在线视频一区| 国产91在线|亚洲| 色欧美日韩亚洲| 日韩精品一区二区三区在线| 久久精品一区八戒影视| 亚洲桃色在线一区| 视频在线观看91| 国产精品99久| 一本一道久久a久久精品综合蜜臀| 欧美午夜不卡视频| 精品福利一区二区三区| 国产精品久久久久aaaa| 午夜久久福利影院| 韩国欧美国产一区| 色老汉一区二区三区| 日韩免费电影网站| 中文字幕亚洲视频| 麻豆国产欧美日韩综合精品二区| 国产69精品久久99不卡| 欧美性猛片xxxx免费看久爱| 欧美成人在线直播| 曰韩精品一区二区| 国内精品伊人久久久久av影院 | 久久99在线观看| 国产福利91精品一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲国产一区二区三区| 国产精品盗摄一区二区三区|