增强GridCtrl
资源内容介绍
不错的一个gridctrl例子 // GridCtrl.cpp : implementation file//// MFC Grid Control//// Written by Chris Maunder // mailto:chrismaunder@codeguru.com//// Copyright (c) 1998-1999.//// The code contained in this file is based on the original// WorldCom Grid control written by Joe Willcoxson,// mailto:chinajoe@aol.com// http://users.aol.com/chinajoe// The code has gone through so many modifications that I'm// not sure if there is even a single original line of code.// In any case Joe's code was a great framewaork on which to// build.//// 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, and let me know of any bugs/mods/improvements // that you have found/implemented and I will fix/incorporate them into // this file. //// History:// --------// This control is constantly evolving, sometimes due to new features that I// feel are necessary, and sometimes due to existing bugs. Where possible I // have credited the changes to those who contributed code corrections or// enhancements (names in brackets) or code suggestions (suggested by...)// // 1.0 20 Feb 1998 First release version.// 1.01 24 Feb 1998 Memory leak fix (Jens Bohlmann)// Fixec typo (my fault!) in CMemDC.h - Claus Arend-Schneider)// Bug in GetSelectedCount (Lyn Newton)// 1.02 4 Mar 1998 Scrolling a little neater (less dead area)// Cell selection via OnTimer correctly updates Focus cell (Suggested by Lyn Newton)// 1.03 17 Mar 1998 Clipboard functions added, Intellimouse support// Using 32 bit scroll pos functions instead of 16 bit ("cronos")// Added OLE drag and drop.// 1.04 6 Apr 1998 Added Ctrl-A = Select All, fixed CGridDropTarget // problem, minor bug in CopyTextFromGrid (assert on// empty string). Cleaned up reponse to m_bEditable// (OnDrop and Ctrl-X disabled)// 1.05 10 May 1998 Memory leak fixed. (Yuheng Zhao)// Changed OLE initialisation (Carlo Comino)// Added separate fore + background cell colours (Suggested by John Crane)// ExpandToFit etc cleaned up - now decreases and// increases cell sizes to fit client area.// Added notification messages for the grid's parent (Suggested by // Added GVIS_READONLY state// 1.06 20 May 1998 Added TAB key handling. (Daniela Rybarova)// Intellimouse code correction for whole page scrolling (Paul Grant) // Fixed 16 bit thumb track problems (now 32 bit) (Paul Grant) // Fixed accelerator key problem in CInPlaceEdit (Matt Weagle)// Fixed Stupid ClassWizard code parsing problem (Michael A. Barnhart)// Double buffering now programmatically selectable// Workaround for win95 drag and drop registration problem// Corrected UNICODE implementation of clipboard stuff// Dragging and dropping from a selection onto itself no // no longer causes the cells to be emptied// 1.07 28 Jul 1998 Added EnsureVisible. (Roelf Werkman)// Fixed delete key problem on read-only cells. (Serge Weinstock)// OnEndInPlaceEdit sends notification AFTER storing// the modified text in the cell.// Added CreateInPlaceEditControl to make it easier to // change the way cells are edited. (suggested by Chris Clark)// Added Set/GetGridColor.// CopyTextToClipboard and PasteTextToGrid problem with // blank cells fixed, and CopyTextToClipboard tweaked.// SetModified called when cutting text or hitting DEL. (Jonathan Watters)// Focus cell made visible when editing begins.// Blank lines now treated correctly when pasting data.// Removed ES_MULTILINE style from the default edit control.// Added virtual CreateCell(row, col) function.// Fonts now specified on a per-cell basis using Get/SetItemFont.// 1.08 6 Aug 1998 Ctrl+arrows now allows cell navigation. Modified// CreateInPlaceEditControl to accept ID of control.// Added Titletips to grid cells. (Added EnableTitleTips / GetTitleTips)// 1.09 12 Sep 1998 When printing, parent window title is printed in header - Gert Rijs// GetNextItem search with GVNI_DROPHILITED now returns// cells with GVIS_DROPHILITED set, instead of GVIS_FOCUSED (Franco Bez)// (Also fixed minor bug in GetNextItem) (Franco Bez)// Cell selection using Shift+arrows works - Franco Bez // SetModified called after edits ONLY if contents changed (Franco Bez)// Cell colours now dithered in 256 colour screens.// Support for MSVC 4.2 (Graham Cheetham)// 1.10 30 Nov 1998 Titletips now disappear on a scroll event. Compiler errors// fixed. Grid lines drawing fixed (Graham Cheetham). // Cell focus fix on Isert Row/Col (Jochen Kauffmann) // Added DeleteNonFixedRows() (John Rackley)// Message #define conflict fixed (Oskar Wieland)// Titletips & cell insert/delete fix (Ramesh Dhar) // Titletips repeat-creation bug fixed.// GVN_SELCHANGED message now sends current cell ID// Font resource leak in GetTextExtent fixed (Gavin Jerman)// More TAB fixes (Andreas Ruh)// 1.11 1 Dec 1998 GetNextItem bug fix (suggested by Francis Fu)// InsertColumn (-1) fix (Roy Hopkins)// Was too liberal with the "IsEditable"'s. oops. (Michel Hete)// 1.11a 4 Jan 1999 Compiler errors in VC6 fixed.// 1.12 10 Apr 1999 Cleanup to allow GRIDCONTR