Click here to Skip to main content
13,795,046 members
Click here to Skip to main content
Add your own
alternative version


48 bookmarked
Posted 8 May 2007
Licenced CPOL

CGrid Control

, 8 May 2007
Rate this:
Please Sign up or sign in to vote.
An article on a grid control built with Windows API. Also includes an MFC class
Screenshot - mfc.jpg


This article presents a Grid control which is built with Windows API. It also has an MFC class.


You can get many grid controls from the Internet. Maybe some of them are free and others are not. Grid is a useful control to show or edit data. The grid control presented in this article support up to 65536 rows and 256 columns. It also supports text edit and boolean type edit.

Using the Code

To use the Grid control in SDK project, grid_lib project must be compiled. And after that, a header file must be included.

#include "grid_lib\grid_lib.h"

Next, initialize the Grid and create a window handle of the Grid.

hWndGrid = CreateGrid(WS_VISIBLE | WS_CHILD, 0, 0, 0, 0, hWnd, ::GetModuleHandle(NULL));

To use the Grid control in MFC project, grid_lib project must be compiled. And after that, a header file must be included.

#include "MFCGrid.h"

After creating an instance of grid control, use GetGrid() function to get the CGrid* pointer. The CGrid control supports the following:

  • CellFromPoint
  • ClearCell
  • Draw
  • Get background brush
  • Get/set background color
  • Get/set fix cell background color
  • Get/set fix cell board color
  • Get/set focus cell board color
  • Get/set selected cell background color
  • Get/set sheet background color
  • Get/set column count
  • Get/set row count
  • Get/set fix row count
  • Get/set fix column count
  • Get/set font
  • GetMergeInfo
  • Get/set row height
  • Get/set column width
  • Insert/remove row
  • Insert/remove column
  • Merge/split cells
  • Get/set cell text
  • Get/set cell char
  • Get/set cell uchar
  • Get/set cell short
  • Get/set cell ushort
  • Get/set cell int
  • Get/set cell uint
  • Get/set cell long
  • Get/set cell ulong
  • Get/set cell float
  • Get/set cell double
  • Get/set cell bool


  • 29/05/2007: First release


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

No Biography provided

You may also be interested in...


Comments and Discussions

QuestionGreat work! Pin
nilaysoft7-Aug-17 21:57
membernilaysoft7-Aug-17 21:57 
GeneralMy vote of 5 Pin
nanosgr27-Dec-11 5:54
membernanosgr27-Dec-11 5:54 
GeneralA Little Bug Pin
Mycro4-Aug-10 0:14
memberMycro4-Aug-10 0:14 
AnswerRe: A Little Bug Pin
duck5tar3-May-13 1:28
memberduck5tar3-May-13 1:28 
GeneralCool... but.. Pin
Jackie Roh25-Oct-07 22:43
memberJackie Roh25-Oct-07 22:43 
Generalso few columns Pin
ForTheWind2-Jul-07 0:39
memberForTheWind2-Jul-07 0:39 
GeneralExcellent! Just one feature request....! [modified] Pin
G A McHale15-May-07 20:45
memberG A McHale15-May-07 20:45 
GeneralNice work, but... Pin
Kochise9-May-07 0:25
memberKochise9-May-07 0:25 
GeneralRe: Nice work, but... Pin
Henry Venn9-May-07 16:54
memberHenry Venn9-May-07 16:54 
GeneralRe: Nice work, but... Pin
Charlie, Wang9-May-07 17:47
memberCharlie, Wang9-May-07 17:47 
Thank u Kochise. I'd fix the horz scroll bar bug. But the merge cell's select problem maybe need some time. I'll continue to make it better.
GeneralRe: Nice work, but... Pin
Kochise9-May-07 22:26
memberKochise9-May-07 22:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web05 | 2.8.181207.3 | Last Updated 9 May 2007
Article Copyright 2007 by Charlie, Wang
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid