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

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

?? gridctrl.h

?? 是用c++實(shí)現(xiàn)的幾個數(shù)字信號處理中的典型算法
?? 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
//
//The code added function for combine or unCombine cell
//the added function  written by daishaozhong(daishaozhong@china.com)
//added time 2001-8-18.
//
// 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_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

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

#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
#define _WIN32_WCE_NO_PRINTING
#endif
#ifdef WCE_NO_CURSOR
#define _WIN32_WCE_NO_CURSOR
#endif

#else
// Use C++ exception handling instead of structured.
#undef TRY
#undef CATCH
#undef END_CATCH
#define TRY try
#define CATCH(ex_class, ex_object) catch(ex_class* ex_object)
#define END_CATCH
#endif  // _WIN32_WCE

#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

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

#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
#define GVIS_FIXED              0x0010  // not yet used
#define GVIS_MODIFIED           0x0020

// Cell Searching options
#define GVNI_FOCUSED            0x0001
#define GVNI_SELECTED           0x0002
#define GVNI_DROPHILITED        0x0004
#define GVNI_READONLY           0x0008
#define GVNI_FIXED              0x0010  // not yet used
#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

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_ITEMCHANGING 
#define GVN_SELCHANGED          LVN_ITEMCHANGED



// 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:
	BOOL m_bSkipV,m_bSkipH;//前一個表明去掉單元格的垂直線段,后一個表明去掉單元格的水平線段
    BOOL m_bHide;//單元格是否被合并(需要隱藏)
	BOOL m_bNoEdit;
	int m_numHhide;//水平需要隱藏的單元格;只針對TOPLEFT賦值.即列數(shù)
	int m_numVhide;//垂直需要隱藏的單元格;只針對TOPLEFT賦值,即行數(shù)
	int m_TopleftRow,m_TopleftCol;//被隱藏的單元格需要輸入最左上的行和列值

	CGridCell() 
    {
        state = 0;
        nFormat = 0;
        szText.Empty();
        iImage = -1;
		crBkClr = CLR_DEFAULT;
		crFgClr = CLR_DEFAULT;
        lParam = 0;
       //for combine,do you want remove it?
		m_bSkipV=FALSE;
		m_bSkipH=FALSE;
		m_bHide=FALSE;
		m_bNoEdit=FALSE;
		m_numHhide=0;
		m_numVhide=0;
        m_TopleftRow=0;
		m_TopleftCol=0;
	  //above added for combine ;
    }

    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)
    LOGFONT  lfFont;      // Cell font
    LPARAM   lParam;      // 32-bit value to associate with item
}; 


// 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
{
    DECLARE_DYNCREATE(CGridCtrl)

// 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);
    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 = 15);
    BOOL SetColumnCount(int nCols = 15);
    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;

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

    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 SetListMode(BOOL bEnableListMode = TRUE) { m_bListMode = bEnableListMode;    }
    BOOL GetListMode() const                      { return m_bListMode;               }
    void SetSingleRowSelection(BOOL bSing = TRUE) { m_bSingleRowSelection = bSing;    }
    BOOL GetSingleRowSelection()                  { return m_bSingleRowSelection;     }
    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;              }

    void SetModified(BOOL bModified = TRUE, int nRow = -1, int nCol = -1);
    BOOL GetModified(int nRow = -1, int nCol = -1);
    BOOL IsCellFixed(int nRow, int nCol);

    BOOL   SetItem(const GV_ITEM* pItem);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区久久久| 中文字幕免费在线观看视频一区| 日韩一区二区免费电影| 久久久久久一级片| 一区二区三区免费在线观看| 麻豆91在线观看| 在线观看一区日韩| 欧美激情在线看| 老司机一区二区| 91久久精品一区二区二区| 欧美精品一区二区在线播放| 亚洲超碰97人人做人人爱| 成人av在线网| 久久精品视频在线看| 日韩精品视频网| 欧美日韩在线综合| 国产精品国产三级国产普通话蜜臀 | 日韩国产欧美三级| 99视频精品全部免费在线| 精品乱人伦小说| 日本91福利区| 欧美系列一区二区| 一区二区三区日韩欧美精品| 99久久精品免费观看| 国产精品伦理在线| 成人一区二区三区| 国产亚洲一区二区三区四区| 美女视频免费一区| 日韩美女视频一区二区在线观看| 丝袜脚交一区二区| 欧美人妖巨大在线| 视频一区在线视频| 欧美老女人在线| 亚洲成a人片在线观看中文| 日本高清视频一区二区| 一区二区三区欧美在线观看| 在线观看国产精品网站| 亚洲尤物视频在线| 91.xcao| 久久精品免费观看| xvideos.蜜桃一区二区| 国产综合久久久久久久久久久久| 精品奇米国产一区二区三区| 看片的网站亚洲| 久久久久久亚洲综合影院红桃| 精品亚洲国内自在自线福利| 欧美电视剧在线看免费| 国产呦萝稀缺另类资源| 国产丝袜欧美中文另类| eeuss鲁片一区二区三区在线看| 国产精品久久久久久久久图文区 | 蜜臀av亚洲一区中文字幕| 欧美区一区二区三区| 日本伊人色综合网| 亚洲精品在线观看视频| 成人丝袜高跟foot| 亚洲已满18点击进入久久| 91精品国产免费| 国产成人精品在线看| 日韩码欧中文字| 91精品国产欧美一区二区成人| 日本不卡视频在线观看| 久久久久99精品国产片| 色综合久久中文综合久久97| 亚洲成人免费电影| 久久一留热品黄| 在线日韩一区二区| 久久机这里只有精品| 国产精品伦一区二区三级视频| 欧美丝袜自拍制服另类| 国内精品久久久久影院一蜜桃| 国产精品久久久99| 日韩一级黄色片| 99久免费精品视频在线观看| 日本少妇一区二区| √…a在线天堂一区| 日韩一区二区电影| 成人av在线一区二区三区| 亚欧色一区w666天堂| 中文av一区特黄| 7777精品伊人久久久大香线蕉| 国产suv精品一区二区6| 亚洲成精国产精品女| 欧美国产日韩亚洲一区| 777奇米成人网| 91性感美女视频| 国内精品国产成人国产三级粉色| 亚洲国产综合视频在线观看| 日本一区二区三区久久久久久久久不| 精品视频一区二区三区免费| 欧美在线制服丝袜| 国产精品自产自拍| 日韩高清中文字幕一区| 亚洲另类在线制服丝袜| 久久久天堂av| 精品国产乱码久久久久久牛牛| 欧美亚日韩国产aⅴ精品中极品| 国产福利精品导航| 蜜桃免费网站一区二区三区| 一区二区三区蜜桃网| 国产精品伦一区| 中文字幕成人av| 久久久久国产精品厨房| 精品免费国产二区三区| 7777精品伊人久久久大香线蕉最新版 | 一区二区三区在线观看动漫| 国产精品―色哟哟| 日本一区二区动态图| 精品日产卡一卡二卡麻豆| 欧美一区二区播放| 777午夜精品免费视频| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品传媒视频| 国产精品拍天天在线| 亚洲国产精品传媒在线观看| 久久久蜜臀国产一区二区| 久久综合av免费| 久久精品视频在线免费观看| 久久久久久影视| 日本一区二区在线不卡| 国产亚洲欧美一区在线观看| 国产亚洲精品bt天堂精选| 久久久精品影视| 国产精品视频一二三区| 国产精品久久久久久久浪潮网站| 中文字幕一区在线观看视频| 亚洲欧洲日韩一区二区三区| 亚洲图片欧美激情| 亚洲一区二区三区四区在线观看| 亚洲电影激情视频网站| 天堂va蜜桃一区二区三区漫画版| 日韩不卡一二三区| 久久激情五月激情| 成人免费视频视频| 91福利在线导航| 91精品免费观看| 国产亚洲人成网站| 亚洲欧美另类图片小说| 亚洲高清免费在线| 精品影院一区二区久久久| 国产精品系列在线观看| 色综合久久六月婷婷中文字幕| 欧美日韩免费一区二区三区视频| 91精品福利在线一区二区三区| 26uuu国产在线精品一区二区| 欧美国产精品一区| 亚洲va韩国va欧美va| 国产制服丝袜一区| 色婷婷亚洲精品| 日韩欧美中文字幕精品| 国产精品护士白丝一区av| 日韩精品视频网| 99国产精品久久久久久久久久久 | 亚洲精品va在线观看| 亚洲va国产天堂va久久en| 国产一区二区三区免费看| 精品成a人在线观看| 最新久久zyz资源站| 奇米色777欧美一区二区| 成人中文字幕电影| 7777精品伊人久久久大香线蕉的| 欧美极品xxx| 日韩成人精品在线| 91视频免费播放| 日韩限制级电影在线观看| 综合激情成人伊人| 看电视剧不卡顿的网站| 色呦呦网站一区| 国产性天天综合网| 视频一区在线播放| 色综合久久精品| 国产网站一区二区| 免费高清在线一区| 91黄视频在线观看| 国产精品久久看| 精品一区二区三区日韩| 欧美日韩精品久久久| 国产精品成人网| 国产白丝网站精品污在线入口| 3atv在线一区二区三区| 亚洲精品成人天堂一二三| 国产成人精品一区二区三区网站观看| 7777精品伊人久久久大香线蕉经典版下载| 国产精品的网站| 国产成人8x视频一区二区| 日韩一区二区不卡| 午夜精品久久久久久久久| 99久久伊人久久99| 国产精品美女久久久久久久久久久 | 国产精品亚洲成人| 日韩精品一区二区三区四区视频| 香蕉久久一区二区不卡无毒影院| 成人禁用看黄a在线| 国产三级一区二区| 国产福利精品导航| 久久综合国产精品| 国产精品自在在线| 日本一区二区三区在线不卡| 国产精品99久久久久久久vr | 国产一区中文字幕|