BCGControlBar Pro for MFC
int CBCGPGridCtrl::InsertColumn ( int  nPos,
LPCTSTR  lpszColumn,
int  nWidth,
int  iImage = -1,
BOOL  bHideNameWithImage = TRUE 

Inserts the new column into a grid control at the specified index.

nPosThe zero-based index of the column to be inserted.
lpszColumnThe name of the column.
nWidthThe width of the column in pixels
iImageSpecifies the image to be displayed with this column at the header control. Zero-based index of an image within the image list or -1, if not used. You should assign the image list to the header control.
bHideNameWithImageSpecified whether hide the column name when image is specified.
Index of the new column if successful; otherwise - 1.

Call this function to insert the new column into the grid control at the specified index. You can specify the name of column, its default width and, optionally, an image to be displayed on the header control.

You should assign an image list to the header control in order to display the image (GetHeaderCtrl().SetImageList (...)).

extern CBCGPGridCtrl* pGridCtrl; // The pointer to the grid control.
extern CImageList* pImagesHeader; // The pointer to the image list.
pGridCtrl->InsertColumn(0, _T("Column 1"), 60, 0);