Click here to Skip to main content
15,892,674 members
Articles / Desktop Programming / MFC

An MFC-CListCtrl derived class that allows other ‘controls’ to be inserted into a particular cell

Rate me:
Please Sign up or sign in to vote.
4.92/5 (54 votes)
5 Jan 2014CPOL12 min read 168.1K   14K   160  
A class derived from CListCtrl that allows edit controls, combo boxes, check boxes, date pickers, and color pickers to be inserted into or removed from particular cells extremely easily. The inserted 'controls' are not CWnd-derived.
��// Microsoft Visual C++ generated resource script.

//

#include "resource.h"



#define APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////

//

// Generated from the TEXTINCLUDE 2 resource.

//

#ifndef APSTUDIO_INVOKED

#include "targetver.h"

#endif

#include "afxres.h"

#include "verrsrc.h"



/////////////////////////////////////////////////////////////////////////////

#undef APSTUDIO_READONLY_SYMBOLS



/////////////////////////////////////////////////////////////////////////////

// English (United States) resources



#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US



/////////////////////////////////////////////////////////////////////////////

//

// Dialog

//



IDD_CONFIGURABLECTRL_DIALOG DIALOGEX 0, 0, 379, 186

STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME

EXSTYLE WS_EX_APPWINDOW

CAPTION "ConfigurableCtrl"

FONT 8, "MS Shell Dlg", 0, 0, 0x1

BEGIN

    CONTROL         "",IDC_MYLIST,"SysListView32",LVS_REPORT | LVS_OWNERDRAWFIXED | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,215,148

    CONTROL         "",IDC_TABPROPS,"SysTabControl32",0x0,225,7,152,147

    LTEXT           "Row:",IDC_STA_EVA_ROW,7,158,18,8

    PUSHBUTTON      "Evaluate",IDC_EVA_EVALUATE,127,169,50,14

    LTEXT           "",IDC_EVA_VALUE,187,170,111,13,0,WS_EX_CLIENTEDGE

    LTEXT           "Value:",IDC_STA_EVA_VALUE,187,160,21,8

    PUSHBUTTON      "Disable Ctrl",IDC_BUT_ENDISALL,240,106,50,14

    DEFPUSHBUTTON   "Close",IDOK,327,169,50,14,0,WS_EX_RTLREADING

    GROUPBOX        "Enable/Disable cell",IDC_GRPENDIS,229,28,114,66

    EDITTEXT        IDC_ENDISCOL,291,38,40,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT

    EDITTEXT        IDC_ENDISROW,292,57,40,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

    PUSHBUTTON      "Disable/Enable cell",IDC_BUT_ENDISCELL,253,76,75,14

    LTEXT           "Column",IDC_STAENDISCOL,239,39,41,13,0,WS_EX_TRANSPARENT

    LTEXT           "Row",IDC_STA_ENDISROW,240,58,47,14

    EDITTEXT        IDC_ROWCOLHEAD,297,26,40,14,ES_AUTOHSCROLL

    EDITTEXT        IDC_ROWCOLWIDTH,297,42,40,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT

    EDITTEXT        IDC_ROWCOLPOS,297,59,40,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT

    LTEXT           "Header name",IDC_STA_ROWCOLHEAD,240,28,44,8

    LTEXT           "Width",IDC_STA_ROWCOLWIDTH,240,44,20,8

    LTEXT           "Order",IDC_STA_ROWCOLPOS,240,60,20,8

    PUSHBUTTON      "Add column",IDC_ROWCOL_ADDCOL,247,78,50,14

    EDITTEXT        IDC_ROWCOLNAME,297,98,40,14,ES_AUTOHSCROLL

    LTEXT           "Name",IDC_STA_ROWCOLNAME,240,101,19,8

    PUSHBUTTON      "Add row",IDC_ROWCOL_ADDROW,247,132,50,14

    PUSHBUTTON      "Remove column",IDC_ROWCOL_REMCOL,305,78,55,14

    PUSHBUTTON      "Remove row",IDC_ROWCOL_REMROW,308,133,50,14

    EDITTEXT        IDC_ROWCOLROW,297,115,40,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT

    LTEXT           "Row",IDC_STA_ROWCOLROW,240,117,15,8

    LTEXT           "Control type",IDC_STA_CTRLTYPE,240,38,41,8

    COMBOBOX        IDC_CTRL_CTRLTYPE,297,32,73,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP

    LTEXT           "Row",IDC_STA_CTRL_ROW,240,58,15,8

    LTEXT           "Column",IDC_STA_CTRL_COL,240,78,24,8

    EDITTEXT        IDC_CTRL_ROW,297,52,40,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

    EDITTEXT        IDC_CTRL_COL,297,72,40,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

    PUSHBUTTON      "Add Ctrl",IDC_CTRL_ADD,247,112,50,14

    PUSHBUTTON      "Remove Ctrl",IDC_CTRL_REM,312,112,50,14

    LTEXT           "Default",IDC_STA_CTRL_DEFAULT,240,98,24,8

    EDITTEXT        IDC_CTRL_DEFAULT,297,92,40,14,ES_AUTOHSCROLL

    PUSHBUTTON      "Add Item",IDC_CB_ADD,244,85,50,14

    PUSHBUTTON      "Select Item",IDC_CB_SEL,309,85,50,14

    PUSHBUTTON      "Remove",IDC_CB_REMOVE,243,105,50,14

    LTEXT           "Row",IDC_STA_CB_ROW,234,31,15,8

    LTEXT           "Column",IDC_STA_CB_COL,307,31,24,8

    LTEXT           "Index",IDC_STA_CB_IDX,234,51,20,8

    LTEXT           "Text value",IDC_STA_CB_TXTVAL,234,71,35,8

    EDITTEXT        IDC_CB_ROW,260,25,32,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

    EDITTEXT        IDC_CB_COLUMN,336,25,31,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

    EDITTEXT        IDC_CB_IDX,261,45,32,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

    EDITTEXT        IDC_CB_TXT_VAL,285,65,82,14,ES_AUTOHSCROLL

    EDITTEXT        IDC_EVA_ROW,7,169,40,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

    LTEXT           "Column:",IDC_STA_EVA_COLUMN,67,158,27,8

    EDITTEXT        IDC_EVA_COLUMN,67,169,40,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER

END





/////////////////////////////////////////////////////////////////////////////

//

// Version

//



VS_VERSION_INFO VERSIONINFO

 FILEVERSION 1,0,0,1

 PRODUCTVERSION 1,0,0,1

 FILEFLAGSMASK 0x3fL

#ifdef _DEBUG

 FILEFLAGS 0x1L

#else

 FILEFLAGS 0x0L

#endif

 FILEOS 0x40004L

 FILETYPE 0x1L

 FILESUBTYPE 0x0L

BEGIN

    BLOCK "StringFileInfo"

    BEGIN

        BLOCK "040904B0"

        BEGIN

            VALUE "CompanyName", "TODO: <Company name>"

            VALUE "FileDescription", "ConfigurableCtrl"

            VALUE "FileVersion", "1.0.0.1"

            VALUE "InternalName", "ConfigurableCtrl.exe"

            VALUE "LegalCopyright", "TODO: (c) <Company name>.  All rights reserved."

            VALUE "OriginalFilename", "ConfigurableCtrl.exe"

            VALUE "ProductName", "TODO: <Product name>"

            VALUE "ProductVersion", "1.0.0.1"

        END

    END

    BLOCK "VarFileInfo"

    BEGIN

        VALUE "Translation", 0x409, 1200

    END

END





/////////////////////////////////////////////////////////////////////////////

//

// DESIGNINFO

//



#ifdef APSTUDIO_INVOKED

GUIDELINES DESIGNINFO

BEGIN

    IDD_CONFIGURABLECTRL_DIALOG, DIALOG

    BEGIN

        LEFTMARGIN, 7

        RIGHTMARGIN, 377

        VERTGUIDE, 67

        VERTGUIDE, 127

        VERTGUIDE, 187

        TOPMARGIN, 7

        BOTTOMMARGIN, 180

        HORZGUIDE, 166

        HORZGUIDE, 183

    END

END

#endif    // APSTUDIO_INVOKED



#endif    // English (United States) resources

/////////////////////////////////////////////////////////////////////////////





/////////////////////////////////////////////////////////////////////////////

// English (United Kingdom) resources



#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)

LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK



#ifdef APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////

//

// TEXTINCLUDE

//



1 TEXTINCLUDE 

BEGIN

    "resource.h\0"

END



2 TEXTINCLUDE 

BEGIN

    "#ifndef APSTUDIO_INVOKED\r\n"

    "#include ""targetver.h""\r\n"

    "#endif\r\n"

    "#include ""afxres.h""\r\n"

    "#include ""verrsrc.h""\r\n"

    "\0"

END



3 TEXTINCLUDE 

BEGIN

    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"

    "#define _AFX_NO_OLE_RESOURCES\r\n"

    "#define _AFX_NO_TRACKER_RESOURCES\r\n"

    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"

    "\r\n"

    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"

    "LANGUAGE 9, 1\r\n"

    "#include ""res\\ConfigurableCtrl.rc2""  // non-Microsoft Visual C++ edited resources\r\n"

    "#include ""afxres.rc""      // Standard components\r\n"

    "#endif\r\n"

    "\0"

END



#endif    // APSTUDIO_INVOKED





/////////////////////////////////////////////////////////////////////////////

//

// Icon

//



// Icon with lowest ID value placed first to ensure application icon

// remains consistent on all systems.

IDR_MAINFRAME           ICON                    "res\\ConfigurableCtrl.ico"



/////////////////////////////////////////////////////////////////////////////

//

// Bitmap

//



IDB_CHECKBOX            BITMAP                  "res\\checkbox.bmp"

#endif    // English (United Kingdom) resources

/////////////////////////////////////////////////////////////////////////////







#ifndef APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////

//

// Generated from the TEXTINCLUDE 3 resource.

//

#define _AFX_NO_SPLITTER_RESOURCES

#define _AFX_NO_OLE_RESOURCES

#define _AFX_NO_TRACKER_RESOURCES

#define _AFX_NO_PROPERTY_RESOURCES



#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

LANGUAGE 9, 1

#include "res\ConfigurableCtrl.rc2"  // non-Microsoft Visual C++ edited resources

#include "afxres.rc"      // Standard components

#endif



/////////////////////////////////////////////////////////////////////////////

#endif    // not APSTUDIO_INVOKED



By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

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


Written By
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions