Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / desktop / MFC

MFC Grid control 2.27 Compatibility with Grid Control 2.21

5.00/5 (3 votes)
27 Mar 2013CPOL 19.4K   943  
Minor changes on CGridCtrl 2.27 for compatibility with old version of this control

Introduction

This grid is the work of thousands of hours of squinting at pixels, hunting memory leaks, adding new features, fixing new bugs and beating the code by force of will into a form that is as feature rich and usable as something of this form can be. Dozens of developers from all over the world have contributed fixes, improvements and suggestions over the 4 years that the grid has been growing, and there is still no end in sight. Most of the fixes have been sent in by readers so I'm trusting that they have done sufficient testing. Please click for more information.

Release 2.27 is a minor update of 2.26 for Visual Studio 2010 and includes a couple of minor bug fixes. Version 2.26 is still available for download here, but at this release we lost AddPoint() method and m_strType at the version 2.21 of this control. I solve that problem with minor changes.

C++
 void BOOL CGridCtrl::AddPoint(CStringArray* ColStr,int row,int ColNo,int iImage)
{
	int col = 0;
	GV_ITEM Item;

	int r = GetRowCount();
	if(row >= r)
		SetRowCount(row+1);
	r = GetRowCount();

	for(col = 0 ; col < ColNo ; col++)
	{
		Item.mask = GVIF_TEXT;
		Item.row = row;
		Item.col = col;
		Item.crFgClr = RGB(255,0,0);  

		if(col == 0)
		{
			Item.iImage = iImage;
			Item.strText.Format("%d",row);
			Item.mask    |= (GVIF_FGCLR | GVIF_IMAGE);
		}
		else
		{
			Item.mask    |= (GVIF_FGCLR);
			Item.strText = ColStr->GetAt(col);
		}
		SetItem(&Item);
	}
	return true;
}
// 

Acknowledgement

  • Thanks to Chris Maunder

License

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