Click here to Skip to main content
13,864,351 members
Click here to Skip to main content

Stats

2.1M views
58.3K downloads
447 bookmarked
Posted 3 Sep 2008
Licenced CPOL

CGridListCtrlEx - Grid Control Based on CListCtrl

, 16 Mar 2015
A custom draw CListCtrl with subitem editing and formatting
CGridListCtrlEx
DemoApplication
res
CGridListCtrlEx.ico
FLGDEN.ICO
FLGFRAN.ICO
FLGGERM.ICO
FLGGREEC.ico
FLGSPAIN.ICO
FLGSWED.ICO
Documentation
CGridListCtrlEx
screenshot.png
vs2003
CGridListCtrlEx.vcproj
vs2005
CGridListCtrlEx.vcproj
vs2008
CGridListCtrlEx.vcproj
vs6
CGridListCtrlEx.dsp
CGridListCtrlEx.dsw
Release
CGridListCtrlEx.exe
msvcp120.dll
msvcr120.dll
CGridListCtrlEx.ico
FLGDEN.ICO
FLGFRAN.ICO
FLGGERM.ICO
FLGGREEC.ico
FLGSPAIN.ICO
FLGSWED.ICO
screenshot.png
Doxygen
Doxyfile
html
arrowdown.png
arrowright.png
bc_s.png
bdwn.png
class_c_grid_column_trait.png
class_c_grid_column_trait_combo.png
class_c_grid_column_trait_date_time.png
class_c_grid_column_trait_edit.png
class_c_grid_column_trait_hyper_link.png
class_c_grid_column_trait_image.png
class_c_grid_column_trait_multiline_edit.png
class_c_grid_column_trait_text.png
class_c_grid_editor_combo_box.png
class_c_grid_editor_combo_box_edit.png
class_c_grid_editor_date_time_ctrl.png
class_c_grid_editor_text.png
class_c_grid_list_ctrl_ex.png
class_c_grid_list_ctrl_groups.png
class_c_grid_multiline_editor_text.png
class_c_grid_row_trait.png
class_c_grid_row_trait_text.png
class_c_grid_row_trait_x_p.png
class_c_view_config_section.png
class_c_view_config_section_default.png
class_c_view_config_section_default_1_1_c_view_config_section_local.png
class_c_view_config_section_profiles.png
class_c_view_config_section_win_app.png
closed.png
doc.png
doxygen.png
folderclosed.png
folderopen.png
ftv2blank.png
ftv2cl.png
ftv2doc.png
ftv2folderclosed.png
ftv2folderopen.png
ftv2lastnode.png
ftv2link.png
ftv2mlastnode.png
ftv2mnode.png
ftv2mo.png
ftv2node.png
ftv2ns.png
ftv2plastnode.png
ftv2pnode.png
ftv2splitbar.png
ftv2vertline.png
nav_f.png
nav_g.png
nav_h.png
open.png
search
close.png
mag_sel.png
search_l.png
search_m.png
search_r.png
splitbar.png
sync_off.png
sync_on.png
tab_a.png
tab_b.png
tab_h.png
tab_s.png
CGridListCtrlEx.vcproj
CGridListCtrlEx.vcproj
CGridListCtrlEx.vcproj
CGridListCtrlEx.dsp
CGridListCtrlEx.dsw
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>CGridListCtrlEx: CGridListCtrlEx Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">CGridListCtrlEx
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="class_c_grid_list_ctrl_ex-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CGridListCtrlEx Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="class_c_grid_list_ctrl_ex.html" title="CGridListCtrlEx extends the CListCtrl with several features. ">CGridListCtrlEx</a> extends the CListCtrl with several features.  
 <a href="class_c_grid_list_ctrl_ex.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for CGridListCtrlEx:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_c_grid_list_ctrl_ex.png" usemap="#CGridListCtrlEx_map" alt=""/>
  <map id="CGridListCtrlEx_map" name="CGridListCtrlEx_map">
<area href="class_c_grid_list_ctrl_groups.html" title="CGridListCtrlGroups extends the CGridListCtrlEx with grouping. " alt="CGridListCtrlGroups" shape="rect" coords="0,112,125,136"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aaaf9bbb7f20e63af595118df681a4df1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaaf9bbb7f20e63af595118df681a4df1"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aaaf9bbb7f20e63af595118df681a4df1">~CGridListCtrlEx</a> ()</td></tr>
<tr class="memdesc:aaaf9bbb7f20e63af595118df681a4df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:aaaf9bbb7f20e63af595118df681a4df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a60d10b7db4b90183ee6256e86ea7c1"><td class="memItemLeft" align="right" valign="top">LRESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a8a60d10b7db4b90183ee6256e86ea7c1">EnableVisualStyles</a> (bool bValue)</td></tr>
<tr class="memdesc:a8a60d10b7db4b90183ee6256e86ea7c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate visual style for the list control (Vista Theme)  <a href="#a8a60d10b7db4b90183ee6256e86ea7c1">More...</a><br /></td></tr>
<tr class="separator:a8a60d10b7db4b90183ee6256e86ea7c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a752d019b863d1acab0e6cc3631948d73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a752d019b863d1acab0e6cc3631948d73"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>UsingVisualStyle</b> () const </td></tr>
<tr class="separator:a752d019b863d1acab0e6cc3631948d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d387170c83505dd39a034ceea4eaab8"><td class="memItemLeft" align="right" valign="top">virtual CFont *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3d387170c83505dd39a034ceea4eaab8">GetCellFont</a> ()</td></tr>
<tr class="memdesc:a3d387170c83505dd39a034ceea4eaab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the font used to draw cells in the list control.  <a href="#a3d387170c83505dd39a034ceea4eaab8">More...</a><br /></td></tr>
<tr class="separator:a3d387170c83505dd39a034ceea4eaab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1535ba14060fc368b4f2ae3e93bf32fe"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1535ba14060fc368b4f2ae3e93bf32fe">SetCellMargin</a> (double margin)</td></tr>
<tr class="memdesc:a1535ba14060fc368b4f2ae3e93bf32fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes the current font and increases the font with the given margin multiplier.  <a href="#a1535ba14060fc368b4f2ae3e93bf32fe">More...</a><br /></td></tr>
<tr class="separator:a1535ba14060fc368b4f2ae3e93bf32fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f89906d28f762e561e685b778db669"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ac5f89906d28f762e561e685b778db669">SetEmptyMarkupText</a> (const CString &amp;strText)</td></tr>
<tr class="memdesc:ac5f89906d28f762e561e685b778db669"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the markup text displayed when the list control is empty.  <a href="#ac5f89906d28f762e561e685b778db669">More...</a><br /></td></tr>
<tr class="separator:ac5f89906d28f762e561e685b778db669"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79b8a101cc22a48e8c9544b3f13294b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79b8a101cc22a48e8c9544b3f13294b0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SetTooltipMaxWidth</b> (int width)</td></tr>
<tr class="separator:a79b8a101cc22a48e8c9544b3f13294b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaf7419d68a7be49801bf9c1438f2405"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaf7419d68a7be49801bf9c1438f2405"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>GetTooltipMaxWidth</b> () const </td></tr>
<tr class="separator:acaf7419d68a7be49801bf9c1438f2405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b6a270a4a5ece1a674b90a251d4b341"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1b6a270a4a5ece1a674b90a251d4b341">GetFocusRow</a> () const </td></tr>
<tr class="memdesc:a1b6a270a4a5ece1a674b90a251d4b341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve row with the LVIS_FOCUSED state flag set.  <a href="#a1b6a270a4a5ece1a674b90a251d4b341">More...</a><br /></td></tr>
<tr class="separator:a1b6a270a4a5ece1a674b90a251d4b341"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a442eaa8d5a14b1a9744106e6dbf361"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a0a442eaa8d5a14b1a9744106e6dbf361">SetFocusRow</a> (int nRow)</td></tr>
<tr class="memdesc:a0a442eaa8d5a14b1a9744106e6dbf361"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets LVIS_FOCUSED state flag for the specified row.  <a href="#a0a442eaa8d5a14b1a9744106e6dbf361">More...</a><br /></td></tr>
<tr class="separator:a0a442eaa8d5a14b1a9744106e6dbf361"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b543152b1c270c8f267d718d841ba6f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a0b543152b1c270c8f267d718d841ba6f">IsRowSelected</a> (int nRow) const </td></tr>
<tr class="memdesc:a0b543152b1c270c8f267d718d841ba6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the LVIS_SELECTED state flag set for the specified row.  <a href="#a0b543152b1c270c8f267d718d841ba6f">More...</a><br /></td></tr>
<tr class="separator:a0b543152b1c270c8f267d718d841ba6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95cdfc923e43020fd647a3878dbfebe4"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a95cdfc923e43020fd647a3878dbfebe4">SelectRow</a> (int nRow, bool bSelect)</td></tr>
<tr class="memdesc:a95cdfc923e43020fd647a3878dbfebe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the LVIS_SELECTED state flag for the specified row.  <a href="#a95cdfc923e43020fd647a3878dbfebe4">More...</a><br /></td></tr>
<tr class="separator:a95cdfc923e43020fd647a3878dbfebe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1625cd255cca21e83197dc24a417fd07"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_grid_row_trait.html">CGridRowTrait</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1625cd255cca21e83197dc24a417fd07">GetRowTrait</a> (int nRow)</td></tr>
<tr class="memdesc:a1625cd255cca21e83197dc24a417fd07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the row trait for the specified row.  <a href="#a1625cd255cca21e83197dc24a417fd07">More...</a><br /></td></tr>
<tr class="separator:a1625cd255cca21e83197dc24a417fd07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cd31914f795c812c8303a7a9a38ba6b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3cd31914f795c812c8303a7a9a38ba6b">SetDefaultRowTrait</a> (<a class="el" href="class_c_grid_row_trait.html">CGridRowTrait</a> *pRowTrait)</td></tr>
<tr class="memdesc:a3cd31914f795c812c8303a7a9a38ba6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the default row trait used by default for drawing rows.  <a href="#a3cd31914f795c812c8303a7a9a38ba6b">More...</a><br /></td></tr>
<tr class="separator:a3cd31914f795c812c8303a7a9a38ba6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5676760c3f8e78d5fb510d34f566d7b"><td class="memItemLeft" align="right" valign="top">const CHeaderCtrl *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#af5676760c3f8e78d5fb510d34f566d7b">GetHeaderCtrl</a> () const </td></tr>
<tr class="memdesc:af5676760c3f8e78d5fb510d34f566d7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the header control of a list control.  <a href="#af5676760c3f8e78d5fb510d34f566d7b">More...</a><br /></td></tr>
<tr class="separator:af5676760c3f8e78d5fb510d34f566d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84ecc235227bac04d14264531219218a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84ecc235227bac04d14264531219218a"></a>
CHeaderCtrl *&#160;</td><td class="memItemRight" valign="bottom"><b>GetHeaderCtrl</b> ()</td></tr>
<tr class="separator:a84ecc235227bac04d14264531219218a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7aa622d55475024541b3cf6564ba611"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ac7aa622d55475024541b3cf6564ba611">GetColumnCount</a> () const </td></tr>
<tr class="memdesc:ac7aa622d55475024541b3cf6564ba611"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the number of columns from the header control.  <a href="#ac7aa622d55475024541b3cf6564ba611">More...</a><br /></td></tr>
<tr class="separator:ac7aa622d55475024541b3cf6564ba611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68641446f8ca2fd5e5e66d9785f3409c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a68641446f8ca2fd5e5e66d9785f3409c">GetColumnData</a> (int nCol) const </td></tr>
<tr class="memdesc:a68641446f8ca2fd5e5e66d9785f3409c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The column version of GetItemData(), one can specify an unique identifier when using InsertColumn()  <a href="#a68641446f8ca2fd5e5e66d9785f3409c">More...</a><br /></td></tr>
<tr class="separator:a68641446f8ca2fd5e5e66d9785f3409c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1dfae59c002859e3538070e5152d1c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ab1dfae59c002859e3538070e5152d1c5">GetColumnOrder</a> (int nCol) const </td></tr>
<tr class="memdesc:ab1dfae59c002859e3538070e5152d1c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get column position in the CHeaderCtrl's display order array.  <a href="#ab1dfae59c002859e3538070e5152d1c5">More...</a><br /></td></tr>
<tr class="separator:ab1dfae59c002859e3538070e5152d1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98e055a8eae5cfe2852bf3fca6b5266"><td class="memItemLeft" align="right" valign="top">CString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ad98e055a8eae5cfe2852bf3fca6b5266">GetColumnHeading</a> (int nCol) const </td></tr>
<tr class="memdesc:ad98e055a8eae5cfe2852bf3fca6b5266"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve column title of a column in the list control NOTE! It will only return the first 255 characters of the header.  <a href="#ad98e055a8eae5cfe2852bf3fca6b5266">More...</a><br /></td></tr>
<tr class="separator:ad98e055a8eae5cfe2852bf3fca6b5266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02e7f426f417219ba2f170e955d4d333"><td class="memItemLeft" align="right" valign="top">virtual BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a02e7f426f417219ba2f170e955d4d333">EnsureColumnVisible</a> (int nCol, bool bPartialOK)</td></tr>
<tr class="memdesc:a02e7f426f417219ba2f170e955d4d333"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scrolls the view, so the column becomes visible.  <a href="#a02e7f426f417219ba2f170e955d4d333">More...</a><br /></td></tr>
<tr class="separator:a02e7f426f417219ba2f170e955d4d333"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2216362cef0fe68b4ced43dbf58ea672"><td class="memItemLeft" align="right" valign="top">virtual BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a2216362cef0fe68b4ced43dbf58ea672">SetColumnWidthAuto</a> (int nCol=-1, bool bIncludeHeader=false)</td></tr>
<tr class="memdesc:a2216362cef0fe68b4ced43dbf58ea672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes the width of a column according the contents of the cells below.  <a href="#a2216362cef0fe68b4ced43dbf58ea672">More...</a><br /></td></tr>
<tr class="separator:a2216362cef0fe68b4ced43dbf58ea672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacca8a221b0208e92abde09d3f6812b3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aacca8a221b0208e92abde09d3f6812b3">SetSortArrow</a> (int nCol, bool bAscending)</td></tr>
<tr class="memdesc:aacca8a221b0208e92abde09d3f6812b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a sort-icon in the column header of the specified column.  <a href="#aacca8a221b0208e92abde09d3f6812b3">More...</a><br /></td></tr>
<tr class="separator:aacca8a221b0208e92abde09d3f6812b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa73d51618d197bc0284813ac21ca6565"><td class="memItemLeft" align="right" valign="top">virtual BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aa73d51618d197bc0284813ac21ca6565">ShowColumn</a> (int nCol, bool bShow)</td></tr>
<tr class="memdesc:aa73d51618d197bc0284813ac21ca6565"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the visible state of column.  <a href="#aa73d51618d197bc0284813ac21ca6565">More...</a><br /></td></tr>
<tr class="separator:aa73d51618d197bc0284813ac21ca6565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09811da39862290d7c0dc4a2a955c019"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a09811da39862290d7c0dc4a2a955c019">IsColumnVisible</a> (int nCol)</td></tr>
<tr class="memdesc:a09811da39862290d7c0dc4a2a955c019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the column visible state from the column trait.  <a href="#a09811da39862290d7c0dc4a2a955c019">More...</a><br /></td></tr>
<tr class="separator:a09811da39862290d7c0dc4a2a955c019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45778b09577d376073a883d243502034"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a45778b09577d376073a883d243502034">IsColumnResizable</a> (int nCol)</td></tr>
<tr class="memdesc:a45778b09577d376073a883d243502034"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a column is allowed to be resized.  <a href="#a45778b09577d376073a883d243502034">More...</a><br /></td></tr>
<tr class="separator:a45778b09577d376073a883d243502034"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f0d1cfed1833f6c28b504668d280752"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a4f0d1cfed1833f6c28b504668d280752">IsColumnAlwaysVisible</a> (int nCol)</td></tr>
<tr class="memdesc:a4f0d1cfed1833f6c28b504668d280752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a column is fixed to be always visible.  <a href="#a4f0d1cfed1833f6c28b504668d280752">More...</a><br /></td></tr>
<tr class="separator:a4f0d1cfed1833f6c28b504668d280752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6903fae110bdfa193b9666bf14a76a2b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a6903fae110bdfa193b9666bf14a76a2b">IsColumnAlwaysHidden</a> (int nCol)</td></tr>
<tr class="memdesc:a6903fae110bdfa193b9666bf14a76a2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a column is fixed to be always hidden.  <a href="#a6903fae110bdfa193b9666bf14a76a2b">More...</a><br /></td></tr>
<tr class="separator:a6903fae110bdfa193b9666bf14a76a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67405a8b0250212e8c180f7f298221af"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a67405a8b0250212e8c180f7f298221af">GetFirstVisibleColumn</a> ()</td></tr>
<tr class="memdesc:a67405a8b0250212e8c180f7f298221af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the column index of the first visible column.  <a href="#a67405a8b0250212e8c180f7f298221af">More...</a><br /></td></tr>
<tr class="separator:a67405a8b0250212e8c180f7f298221af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1821acd36833fa009d8dce2dad0ad3c3"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1821acd36833fa009d8dce2dad0ad3c3">InsertHiddenLabelColumn</a> ()</td></tr>
<tr class="memdesc:a1821acd36833fa009d8dce2dad0ad3c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the label column (first column) with invisible state The label column behaves differently from the rest of the columns, and to get the uniform look, then it should be hidden away.  <a href="#a1821acd36833fa009d8dce2dad0ad3c3">More...</a><br /></td></tr>
<tr class="separator:a1821acd36833fa009d8dce2dad0ad3c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaadc6cb087a3278d8bea802e6994e59"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#afaadc6cb087a3278d8bea802e6994e59">InsertColumnTrait</a> (int nCol, const CString &amp;strColumnHeading, int nFormat=LVCFMT_LEFT, int nWidth=-1, int nSubItem=-1, <a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> *pTrait=NULL)</td></tr>
<tr class="memdesc:afaadc6cb087a3278d8bea802e6994e59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new column in the list control, and gives the option to customize the column using a trait.  <a href="#afaadc6cb087a3278d8bea802e6994e59">More...</a><br /></td></tr>
<tr class="separator:afaadc6cb087a3278d8bea802e6994e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92785cf03b0ef02ffc199d963e3205b9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a92785cf03b0ef02ffc199d963e3205b9">GetColumnTrait</a> (int nCol)</td></tr>
<tr class="memdesc:a92785cf03b0ef02ffc199d963e3205b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the column trait for the entire column.  <a href="#a92785cf03b0ef02ffc199d963e3205b9">More...</a><br /></td></tr>
<tr class="separator:a92785cf03b0ef02ffc199d963e3205b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d9e631c62b9fc3d8404c8b746143129"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a9d9e631c62b9fc3d8404c8b746143129">GetColumnTraitSize</a> () const </td></tr>
<tr class="memdesc:a9d9e631c62b9fc3d8404c8b746143129"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the number of column traits registered.  <a href="#a9d9e631c62b9fc3d8404c8b746143129">More...</a><br /></td></tr>
<tr class="separator:a9d9e631c62b9fc3d8404c8b746143129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95d4ea636dc23182628f95e992f2b839"><td class="memItemLeft" align="right" valign="top">UINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a95d4ea636dc23182628f95e992f2b839">CellHitTest</a> (const CPoint &amp;pt, int &amp;nRow, int &amp;nCol) const </td></tr>
<tr class="memdesc:a95d4ea636dc23182628f95e992f2b839"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replicates the SubItemHitTest() but in a const version.  <a href="#a95d4ea636dc23182628f95e992f2b839">More...</a><br /></td></tr>
<tr class="separator:a95d4ea636dc23182628f95e992f2b839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fd6130ca19e09cb01006071e324bdb8"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a2fd6130ca19e09cb01006071e324bdb8">GetCellRect</a> (int nRow, int nCol, int nCode, CRect &amp;rect)</td></tr>
<tr class="memdesc:a2fd6130ca19e09cb01006071e324bdb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Improved version of GetSubItemRect().  <a href="#a2fd6130ca19e09cb01006071e324bdb8">More...</a><br /></td></tr>
<tr class="separator:a2fd6130ca19e09cb01006071e324bdb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5432414b97a9a6d22afeb89c980debad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5432414b97a9a6d22afeb89c980debad"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>GetFocusCell</b> () const </td></tr>
<tr class="separator:a5432414b97a9a6d22afeb89c980debad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcdd34c755fe8da1fea3b5b3efb06f8e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#afcdd34c755fe8da1fea3b5b3efb06f8e">SetFocusCell</a> (int nCol, bool bRedraw=false)</td></tr>
<tr class="memdesc:afcdd34c755fe8da1fea3b5b3efb06f8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the focus cell.  <a href="#afcdd34c755fe8da1fea3b5b3efb06f8e">More...</a><br /></td></tr>
<tr class="separator:afcdd34c755fe8da1fea3b5b3efb06f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a741660fd09e66a673a406cebd0dec3e3"><td class="memItemLeft" align="right" valign="top">virtual CWnd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a741660fd09e66a673a406cebd0dec3e3">EditCell</a> (int nRow, int nCol)</td></tr>
<tr class="memdesc:a741660fd09e66a673a406cebd0dec3e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the edit of a cell and sends a message to the parent window.  <a href="#a741660fd09e66a673a406cebd0dec3e3">More...</a><br /></td></tr>
<tr class="separator:a741660fd09e66a673a406cebd0dec3e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae052907e1ed5f4fa72b73d7f3e4971cf"><td class="memItemLeft" align="right" valign="top">virtual CWnd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ae052907e1ed5f4fa72b73d7f3e4971cf">EditCell</a> (int nRow, int nCol, CPoint pt)</td></tr>
<tr class="memdesc:ae052907e1ed5f4fa72b73d7f3e4971cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the edit of a cell and sends a message to the parent window.  <a href="#ae052907e1ed5f4fa72b73d7f3e4971cf">More...</a><br /></td></tr>
<tr class="separator:ae052907e1ed5f4fa72b73d7f3e4971cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6318b3e79b0be4091411b752a329cc6e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a6318b3e79b0be4091411b752a329cc6e">IsCellEditorOpen</a> () const </td></tr>
<tr class="memdesc:a6318b3e79b0be4091411b752a329cc6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the cell value editor is open for a cell.  <a href="#a6318b3e79b0be4091411b752a329cc6e">More...</a><br /></td></tr>
<tr class="separator:a6318b3e79b0be4091411b752a329cc6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b4722e43184fb26a83870be364bb466"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1b4722e43184fb26a83870be364bb466">IsCellCallback</a> (int nRow, int nCol) const </td></tr>
<tr class="memdesc:a1b4722e43184fb26a83870be364bb466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the current cell is using callback to retrieve its text value.  <a href="#a1b4722e43184fb26a83870be364bb466">More...</a><br /></td></tr>
<tr class="separator:a1b4722e43184fb26a83870be364bb466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a54ed810b742892eab6b69b6e69bfd4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a9a54ed810b742892eab6b69b6e69bfd4">GetCellImage</a> (int nRow, int nCol) const </td></tr>
<tr class="memdesc:a9a54ed810b742892eab6b69b6e69bfd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the icon index of the specified cell.  <a href="#a9a54ed810b742892eab6b69b6e69bfd4">More...</a><br /></td></tr>
<tr class="separator:a9a54ed810b742892eab6b69b6e69bfd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bef9cfbde01f35920492848f52b1ef7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a2bef9cfbde01f35920492848f52b1ef7">SetCellImage</a> (int nRow, int nCol, int nImageId)</td></tr>
<tr class="memdesc:a2bef9cfbde01f35920492848f52b1ef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the icon of the specified cell.  <a href="#a2bef9cfbde01f35920492848f52b1ef7">More...</a><br /></td></tr>
<tr class="separator:a2bef9cfbde01f35920492848f52b1ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ee937b9f7164ce10e8116fa8bd24ea5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a4ee937b9f7164ce10e8116fa8bd24ea5">GetCellColumnTrait</a> (int nRow, int nCol)</td></tr>
<tr class="memdesc:a4ee937b9f7164ce10e8116fa8bd24ea5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the column trait of a specified cell.  <a href="#a4ee937b9f7164ce10e8116fa8bd24ea5">More...</a><br /></td></tr>
<tr class="separator:a4ee937b9f7164ce10e8116fa8bd24ea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a611b6578c8dd9332bc6a65bd6b71fecb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a611b6578c8dd9332bc6a65bd6b71fecb">SetupColumnConfig</a> (<a class="el" href="class_c_view_config_section_profiles.html">CViewConfigSectionProfiles</a> *pColumnConfig, bool bConfigOwner=true)</td></tr>
<tr class="memdesc:a611b6578c8dd9332bc6a65bd6b71fecb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the interface for handling state persistence for the list control.  <a href="#a611b6578c8dd9332bc6a65bd6b71fecb">More...</a><br /></td></tr>
<tr class="separator:a611b6578c8dd9332bc6a65bd6b71fecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a254a651b5cf36ad52260e2561924aa08"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a254a651b5cf36ad52260e2561924aa08">LoadState</a> (<a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;config)</td></tr>
<tr class="memdesc:a254a651b5cf36ad52260e2561924aa08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads and applies the column configuration for the list control.  <a href="#a254a651b5cf36ad52260e2561924aa08">More...</a><br /></td></tr>
<tr class="separator:a254a651b5cf36ad52260e2561924aa08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12e01b07f1a7ec169bc14ac7073210ab"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a12e01b07f1a7ec169bc14ac7073210ab">SaveState</a> (<a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;config)</td></tr>
<tr class="memdesc:a12e01b07f1a7ec169bc14ac7073210ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves the column configuration of the list control.  <a href="#a12e01b07f1a7ec169bc14ac7073210ab">More...</a><br /></td></tr>
<tr class="separator:a12e01b07f1a7ec169bc14ac7073210ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a4411aa8f7a81429307ece914c6fc1a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1a4411aa8f7a81429307ece914c6fc1a">LoadColumnState</a> (int nConfigCol, int nOwnerCol, <a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;config)</td></tr>
<tr class="memdesc:a1a4411aa8f7a81429307ece914c6fc1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads the column state of a single column.  <a href="#a1a4411aa8f7a81429307ece914c6fc1a">More...</a><br /></td></tr>
<tr class="separator:a1a4411aa8f7a81429307ece914c6fc1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03c0b3ca0ed4c7af203fa3738ec5690f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a03c0b3ca0ed4c7af203fa3738ec5690f">SaveColumnState</a> (int nConfigCol, int nOwnerCol, <a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;config)</td></tr>
<tr class="memdesc:a03c0b3ca0ed4c7af203fa3738ec5690f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves the column state of a single column.  <a href="#a03c0b3ca0ed4c7af203fa3738ec5690f">More...</a><br /></td></tr>
<tr class="separator:a03c0b3ca0ed4c7af203fa3738ec5690f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8da8f343b98d30d4034b2a8502bf150"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ad8da8f343b98d30d4034b2a8502bf150">HasColumnEditor</a> (int nCol, CString &amp;strTitle)</td></tr>
<tr class="memdesc:ad8da8f343b98d30d4034b2a8502bf150"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is there a column configuration editor available for this column ?  <a href="#ad8da8f343b98d30d4034b2a8502bf150">More...</a><br /></td></tr>
<tr class="separator:ad8da8f343b98d30d4034b2a8502bf150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afebdc7f5532bfef1dac1bf0e64214e7e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#afebdc7f5532bfef1dac1bf0e64214e7e">OpenColumnEditor</a> (int nCol)</td></tr>
<tr class="memdesc:afebdc7f5532bfef1dac1bf0e64214e7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the column configuration editor for the column (If one available)  <a href="#afebdc7f5532bfef1dac1bf0e64214e7e">More...</a><br /></td></tr>
<tr class="separator:afebdc7f5532bfef1dac1bf0e64214e7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67c86835fe62ad060fdca53b021eda40"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a67c86835fe62ad060fdca53b021eda40">HasColumnPicker</a> (CString &amp;strTitle)</td></tr>
<tr class="memdesc:a67c86835fe62ad060fdca53b021eda40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is there a column picker available that can add / remove columns.  <a href="#a67c86835fe62ad060fdca53b021eda40">More...</a><br /></td></tr>
<tr class="separator:a67c86835fe62ad060fdca53b021eda40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a1fa14cd8e50b94de79009627df6c0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a1fa14cd8e50b94de79009627df6c0c"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a9a1fa14cd8e50b94de79009627df6c0c">OpenColumnPicker</a> ()</td></tr>
<tr class="memdesc:a9a1fa14cd8e50b94de79009627df6c0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the column picker for the list control. <br /></td></tr>
<tr class="separator:a9a1fa14cd8e50b94de79009627df6c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07a14b022b5f1a993055a4fc5200083"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ab07a14b022b5f1a993055a4fc5200083">HasColumnDefaultState</a> (CString &amp;strTitle)</td></tr>
<tr class="memdesc:ab07a14b022b5f1a993055a4fc5200083"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has the ability to reset the column configuration to its default configuration.  <a href="#ab07a14b022b5f1a993055a4fc5200083">More...</a><br /></td></tr>
<tr class="separator:ab07a14b022b5f1a993055a4fc5200083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0257754311e02ce0c17d3a7d78b3a23a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0257754311e02ce0c17d3a7d78b3a23a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a0257754311e02ce0c17d3a7d78b3a23a">ResetColumnDefaultState</a> ()</td></tr>
<tr class="memdesc:a0257754311e02ce0c17d3a7d78b3a23a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the column configuration to its default configuration. <br /></td></tr>
<tr class="separator:a0257754311e02ce0c17d3a7d78b3a23a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae043a7c4ec5e39aeb4cbf32ac3a130b8"><td class="memItemLeft" align="right" valign="top">virtual CString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ae043a7c4ec5e39aeb4cbf32ac3a130b8">HasColumnProfiles</a> (CSimpleArray&lt; CString &gt; &amp;profiles, CString &amp;strTitle)</td></tr>
<tr class="memdesc:ae043a7c4ec5e39aeb4cbf32ac3a130b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can switch between multiple column configurations.  <a href="#ae043a7c4ec5e39aeb4cbf32ac3a130b8">More...</a><br /></td></tr>
<tr class="separator:ae043a7c4ec5e39aeb4cbf32ac3a130b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef7514a4adfda5d3be9dcfe27db17dfd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aef7514a4adfda5d3be9dcfe27db17dfd">SwichColumnProfile</a> (const CString &amp;strProfile)</td></tr>
<tr class="memdesc:aef7514a4adfda5d3be9dcfe27db17dfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switch to different column configurations profile.  <a href="#aef7514a4adfda5d3be9dcfe27db17dfd">More...</a><br /></td></tr>
<tr class="separator:aef7514a4adfda5d3be9dcfe27db17dfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee600eae12aeaab41562868a4610009"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaee600eae12aeaab41562868a4610009"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aaee600eae12aeaab41562868a4610009">OnSaveStateColumnPick</a> ()</td></tr>
<tr class="memdesc:aaee600eae12aeaab41562868a4610009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called after a column has been added / removed. <br /></td></tr>
<tr class="separator:aaee600eae12aeaab41562868a4610009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1a45abaa3246d610ed27ec354535205"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1a45abaa3246d610ed27ec354535205"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ac1a45abaa3246d610ed27ec354535205">OnSaveStateColumnResize</a> ()</td></tr>
<tr class="memdesc:ac1a45abaa3246d610ed27ec354535205"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called after a column has been resized. <br /></td></tr>
<tr class="separator:ac1a45abaa3246d610ed27ec354535205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab8aad338199cee806c57c92a7f00566"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab8aad338199cee806c57c92a7f00566"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aab8aad338199cee806c57c92a7f00566">OnSaveStateKillFocus</a> ()</td></tr>
<tr class="memdesc:aab8aad338199cee806c57c92a7f00566"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the list control looses focus to another control. <br /></td></tr>
<tr class="separator:aab8aad338199cee806c57c92a7f00566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18a57316e490a8a32be18f6e5a6e42a3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a18a57316e490a8a32be18f6e5a6e42a3">OnDisplayCellItem</a> (LVITEM &amp;lvi)</td></tr>
<tr class="memdesc:a18a57316e490a8a32be18f6e5a6e42a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to provide text string and image index when drawing cells.  <a href="#a18a57316e490a8a32be18f6e5a6e42a3">More...</a><br /></td></tr>
<tr class="separator:a18a57316e490a8a32be18f6e5a6e42a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c3c73cda2eb9543c9249d7c92c10104"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a8c3c73cda2eb9543c9249d7c92c10104">OnDisplayCellText</a> (int nRow, int nCol, CString &amp;strResult)</td></tr>
<tr class="memdesc:a8c3c73cda2eb9543c9249d7c92c10104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to provide text string when drawing cells Only called when using LPSTR_TEXTCALLBACK with CListCtrl::SetItemText()  <a href="#a8c3c73cda2eb9543c9249d7c92c10104">More...</a><br /></td></tr>
<tr class="separator:a8c3c73cda2eb9543c9249d7c92c10104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a027823c5282b5a67f3521116e52bba8b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a027823c5282b5a67f3521116e52bba8b">OnDisplayCellImage</a> (int nRow, int nCol, int &amp;nImageId)</td></tr>
<tr class="memdesc:a027823c5282b5a67f3521116e52bba8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to provide icon index when drawing cells Only called when using I_IMAGECALLBACK with <a class="el" href="class_c_grid_list_ctrl_ex.html#a2bef9cfbde01f35920492848f52b1ef7" title="Sets the icon of the specified cell. ">SetCellImage()</a>  <a href="#a027823c5282b5a67f3521116e52bba8b">More...</a><br /></td></tr>
<tr class="separator:a027823c5282b5a67f3521116e52bba8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae0f01158ff0cb9880dbdc160e6605d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a5ae0f01158ff0cb9880dbdc160e6605d">OnDisplayCellTooltip</a> (const CPoint &amp;point) const </td></tr>
<tr class="memdesc:a5ae0f01158ff0cb9880dbdc160e6605d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method if wanting to specify whether a tooltip is available.  <a href="#a5ae0f01158ff0cb9880dbdc160e6605d">More...</a><br /></td></tr>
<tr class="separator:a5ae0f01158ff0cb9880dbdc160e6605d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665fa20b96c262ea092fec7b8c12993f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a665fa20b96c262ea092fec7b8c12993f">OnDisplayCellTooltip</a> (int nRow, int nCol, CString &amp;strResult)</td></tr>
<tr class="memdesc:a665fa20b96c262ea092fec7b8c12993f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to display a custom tooltip text when holding the mouse over a cell.  <a href="#a665fa20b96c262ea092fec7b8c12993f">More...</a><br /></td></tr>
<tr class="separator:a665fa20b96c262ea092fec7b8c12993f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fe92b7585e2531089e7047d97d21517"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a5fe92b7585e2531089e7047d97d21517">OnDisplayCellColor</a> (NMLVCUSTOMDRAW *pLVCD)</td></tr>
<tr class="memdesc:a5fe92b7585e2531089e7047d97d21517"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the colors used for drawing a cell.  <a href="#a5fe92b7585e2531089e7047d97d21517">More...</a><br /></td></tr>
<tr class="separator:a5fe92b7585e2531089e7047d97d21517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabde4aaff8912c9b05378c4991aca7ba"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aabde4aaff8912c9b05378c4991aca7ba">OnDisplayCellColor</a> (int nRow, int nCol, COLORREF &amp;textColor, COLORREF &amp;backColor)</td></tr>
<tr class="memdesc:aabde4aaff8912c9b05378c4991aca7ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the colors used for drawing a cell.  <a href="#aabde4aaff8912c9b05378c4991aca7ba">More...</a><br /></td></tr>
<tr class="separator:aabde4aaff8912c9b05378c4991aca7ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bb73597c634a8ca55a742365c5dc1e2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a5bb73597c634a8ca55a742365c5dc1e2">OnDisplayCellFont</a> (NMLVCUSTOMDRAW *pLVCD, LOGFONT &amp;font)</td></tr>
<tr class="memdesc:a5bb73597c634a8ca55a742365c5dc1e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the font used for drawing a cell.  <a href="#a5bb73597c634a8ca55a742365c5dc1e2">More...</a><br /></td></tr>
<tr class="separator:a5bb73597c634a8ca55a742365c5dc1e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67384955cd0760ecbc259db45da29463"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a67384955cd0760ecbc259db45da29463">OnDisplayCellFont</a> (int nRow, int nCol, LOGFONT &amp;font)</td></tr>
<tr class="memdesc:a67384955cd0760ecbc259db45da29463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the font used for drawing a cell.  <a href="#a67384955cd0760ecbc259db45da29463">More...</a><br /></td></tr>
<tr class="separator:a67384955cd0760ecbc259db45da29463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acce1c73d347cd9726e5df4e0abf6474b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#acce1c73d347cd9726e5df4e0abf6474b">OnDisplayRowColor</a> (int nRow, COLORREF &amp;textColor, COLORREF &amp;backColor)</td></tr>
<tr class="memdesc:acce1c73d347cd9726e5df4e0abf6474b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the color used for drawing a row.  <a href="#acce1c73d347cd9726e5df4e0abf6474b">More...</a><br /></td></tr>
<tr class="separator:acce1c73d347cd9726e5df4e0abf6474b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabebd6790025d9915a79966d1fa2463a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aabebd6790025d9915a79966d1fa2463a">OnDisplayRowFont</a> (int nRow, LOGFONT &amp;font)</td></tr>
<tr class="memdesc:aabebd6790025d9915a79966d1fa2463a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the font used for drawing a row.  <a href="#aabebd6790025d9915a79966d1fa2463a">More...</a><br /></td></tr>
<tr class="separator:aabebd6790025d9915a79966d1fa2463a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61188bc28c09714dc1f032bf31497c36"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a61188bc28c09714dc1f032bf31497c36">OnDisplayDragOverRow</a> (int nRow)</td></tr>
<tr class="memdesc:a61188bc28c09714dc1f032bf31497c36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to react to mouse over event during drag drop.  <a href="#a61188bc28c09714dc1f032bf31497c36">More...</a><br /></td></tr>
<tr class="separator:a61188bc28c09714dc1f032bf31497c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a604d3de5047b6a9255635778ea5445c2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a604d3de5047b6a9255635778ea5445c2">OnDisplayToClipboard</a> (CString &amp;strResult, bool includeHeader=true)</td></tr>
<tr class="memdesc:a604d3de5047b6a9255635778ea5445c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to control what is placed in the global clipboard.  <a href="#a604d3de5047b6a9255635778ea5445c2">More...</a><br /></td></tr>
<tr class="separator:a604d3de5047b6a9255635778ea5445c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e229f9b9cf4235ddaf94bf0432bedf5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1e229f9b9cf4235ddaf94bf0432bedf5">OnDisplayToClipboard</a> (int nRow, CString &amp;strResult)</td></tr>
<tr class="memdesc:a1e229f9b9cf4235ddaf94bf0432bedf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to control what to place in the clipboard for a single row.  <a href="#a1e229f9b9cf4235ddaf94bf0432bedf5">More...</a><br /></td></tr>
<tr class="separator:a1e229f9b9cf4235ddaf94bf0432bedf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b10f6e13a1ea358a23b8ec463f0593"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a85b10f6e13a1ea358a23b8ec463f0593">OnDisplayToClipboard</a> (int nRow, int nCol, CString &amp;strResult)</td></tr>
<tr class="memdesc:a85b10f6e13a1ea358a23b8ec463f0593"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to control what to place in the clipboard for a single cell.  <a href="#a85b10f6e13a1ea358a23b8ec463f0593">More...</a><br /></td></tr>
<tr class="separator:a85b10f6e13a1ea358a23b8ec463f0593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f0ebe0a183be430a7f357df947747b1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a0f0ebe0a183be430a7f357df947747b1">OnDisplayToDragDrop</a> (CString &amp;strResult)</td></tr>
<tr class="memdesc:a0f0ebe0a183be430a7f357df947747b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to control what data is selected for drag drop operation.  <a href="#a0f0ebe0a183be430a7f357df947747b1">More...</a><br /></td></tr>
<tr class="separator:a0f0ebe0a183be430a7f357df947747b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e164b1264b6d69f63a906af2af48c48"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3e164b1264b6d69f63a906af2af48c48">OnOwnerDataDisplayCheckbox</a> (int nRow)</td></tr>
<tr class="memdesc:a3e164b1264b6d69f63a906af2af48c48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to display checkbox state for LVS_OWNERDATA (virtual list).  <a href="#a3e164b1264b6d69f63a906af2af48c48">More...</a><br /></td></tr>
<tr class="separator:a3e164b1264b6d69f63a906af2af48c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e7ce666a77ab7670feb60398099244b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1e7ce666a77ab7670feb60398099244b">OnOwnerDataToggleCheckBox</a> (int nRow, bool bChecked)</td></tr>
<tr class="memdesc:a1e7ce666a77ab7670feb60398099244b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to react to check box being toggled for LVS_OWNERDATA (virtual list).  <a href="#a1e7ce666a77ab7670feb60398099244b">More...</a><br /></td></tr>
<tr class="separator:a1e7ce666a77ab7670feb60398099244b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99ec9f3c4879d6c609e2a2bbbe6b2016"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a99ec9f3c4879d6c609e2a2bbbe6b2016">OnKeyboardSearch</a> (int nCol, int nStartRow, const CString &amp;strSearch)</td></tr>
<tr class="memdesc:a99ec9f3c4879d6c609e2a2bbbe6b2016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to optimize the keyboard search for LVS_OWNERDATA (virtual list)  <a href="#a99ec9f3c4879d6c609e2a2bbbe6b2016">More...</a><br /></td></tr>
<tr class="separator:a99ec9f3c4879d6c609e2a2bbbe6b2016"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a2451ed9a7fe48440fba9a5d057e89f57"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a2451ed9a7fe48440fba9a5d057e89f57">CheckOSVersion</a> (WORD requestOS)</td></tr>
<tr class="memdesc:a2451ed9a7fe48440fba9a5d057e89f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the current OS version against the requested OS version.  <a href="#a2451ed9a7fe48440fba9a5d057e89f57">More...</a><br /></td></tr>
<tr class="separator:a2451ed9a7fe48440fba9a5d057e89f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ae182fc1595ecdad45f8209f10af10492"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ae182fc1595ecdad45f8209f10af10492">InsertColumnTrait</a> (int nCol, <a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> *pTrait)</td></tr>
<tr class="memdesc:ae182fc1595ecdad45f8209f10af10492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal maintenance function for the column trait container.  <a href="#ae182fc1595ecdad45f8209f10af10492">More...</a><br /></td></tr>
<tr class="separator:ae182fc1595ecdad45f8209f10af10492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e4586d9651830eda9400f6f6bbe69e0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a8e4586d9651830eda9400f6f6bbe69e0">DeleteColumnTrait</a> (int nCol)</td></tr>
<tr class="memdesc:a8e4586d9651830eda9400f6f6bbe69e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal maintenance function for the column trait container.  <a href="#a8e4586d9651830eda9400f6f6bbe69e0">More...</a><br /></td></tr>
<tr class="separator:a8e4586d9651830eda9400f6f6bbe69e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab49ad4743ad784718ea4e0844e60e4e8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ab49ad4743ad784718ea4e0844e60e4e8">InternalColumnPicker</a> (CMenu &amp;menu, UINT offset)</td></tr>
<tr class="memdesc:ab49ad4743ad784718ea4e0844e60e4e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal method to add all available columns to the context menu.  <a href="#ab49ad4743ad784718ea4e0844e60e4e8">More...</a><br /></td></tr>
<tr class="separator:ab49ad4743ad784718ea4e0844e60e4e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3857b77fd2e349c16c6ef6d258023d46"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3857b77fd2e349c16c6ef6d258023d46">InternalColumnProfileSwitcher</a> (CMenu &amp;menu, UINT offset, CSimpleArray&lt; CString &gt; &amp;profiles)</td></tr>
<tr class="memdesc:a3857b77fd2e349c16c6ef6d258023d46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal method to add all available column profiles to the context menu.  <a href="#a3857b77fd2e349c16c6ef6d258023d46">More...</a><br /></td></tr>
<tr class="separator:a3857b77fd2e349c16c6ef6d258023d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9b4b8c7168a23fe672f7382f5452265"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#af9b4b8c7168a23fe672f7382f5452265">MoveFocusCell</a> (bool bMoveRight)</td></tr>
<tr class="memdesc:af9b4b8c7168a23fe672f7382f5452265"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts the cell focus left or right in the same row.  <a href="#af9b4b8c7168a23fe672f7382f5452265">More...</a><br /></td></tr>
<tr class="separator:af9b4b8c7168a23fe672f7382f5452265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b6c3198a95f54920fc9af1c4be79f2d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a6b6c3198a95f54920fc9af1c4be79f2d">SortColumn</a> (int nCol, bool bAscending)</td></tr>
<tr class="memdesc:a6b6c3198a95f54920fc9af1c4be79f2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the row sorting in regard to the specified column.  <a href="#a6b6c3198a95f54920fc9af1c4be79f2d">More...</a><br /></td></tr>
<tr class="separator:a6b6c3198a95f54920fc9af1c4be79f2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3281e846c31faae6d3c83c87cf85041"><td class="memItemLeft" align="right" valign="top">virtual BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ae3281e846c31faae6d3c83c87cf85041">RegisterDropTarget</a> ()</td></tr>
<tr class="memdesc:ae3281e846c31faae6d3c83c87cf85041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers the CListCtrl as a valid OLE drag drop target.  <a href="#ae3281e846c31faae6d3c83c87cf85041">More...</a><br /></td></tr>
<tr class="separator:ae3281e846c31faae6d3c83c87cf85041"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc1c5cdbe778a1642316cc88010af089"><td class="memItemLeft" align="right" valign="top">virtual DROPEFFECT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#adc1c5cdbe778a1642316cc88010af089">DoDragDrop</a> (COleDataSource &amp;oleDataSource, COleDropSource *pDropSource=NULL, DWORD dropEffects=DROPEFFECT_COPY|DROPEFFECT_MOVE|DROPEFFECT_LINK, LPCRECT lpRectStartDrag=NULL)</td></tr>
<tr class="memdesc:adc1c5cdbe778a1642316cc88010af089"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes the contents of the selected rows, and starts a drag-drop operation.  <a href="#adc1c5cdbe778a1642316cc88010af089">More...</a><br /></td></tr>
<tr class="separator:adc1c5cdbe778a1642316cc88010af089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b2b21b089d2cd3d62f95ed97f30f052"><td class="memItemLeft" align="right" valign="top">virtual DROPEFFECT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a8b2b21b089d2cd3d62f95ed97f30f052">OnDragEnter</a> (COleDataObject *pDataObject, DWORD dwKeyState, CPoint point)</td></tr>
<tr class="memdesc:a8b2b21b089d2cd3d62f95ed97f30f052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the framework when the cursor is first dragged into the window.  <a href="#a8b2b21b089d2cd3d62f95ed97f30f052">More...</a><br /></td></tr>
<tr class="separator:a8b2b21b089d2cd3d62f95ed97f30f052"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32c02282e6285f5855965d56780c7fad"><td class="memItemLeft" align="right" valign="top">virtual DROPEFFECT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a32c02282e6285f5855965d56780c7fad">OnDragOver</a> (COleDataObject *pDataObject, DWORD dwKeyState, CPoint point)</td></tr>
<tr class="memdesc:a32c02282e6285f5855965d56780c7fad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the framework when the cursor is dragged over the window.  <a href="#a32c02282e6285f5855965d56780c7fad">More...</a><br /></td></tr>
<tr class="separator:a32c02282e6285f5855965d56780c7fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc8fc322f44b5ffb9561583f7920cb0"><td class="memItemLeft" align="right" valign="top">virtual SCODE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#afbc8fc322f44b5ffb9561583f7920cb0">OnDragGiveFeedback</a> (DROPEFFECT dropEffect)</td></tr>
<tr class="memdesc:afbc8fc322f44b5ffb9561583f7920cb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the framework during drag-drop operation, and allows one to give visual feedback to the end user during a drag-and-drop operation.  <a href="#afbc8fc322f44b5ffb9561583f7920cb0">More...</a><br /></td></tr>
<tr class="separator:afbc8fc322f44b5ffb9561583f7920cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e4d84b7b76b6f4d3a4150536556ebe0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e4d84b7b76b6f4d3a4150536556ebe0"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a4e4d84b7b76b6f4d3a4150536556ebe0">OnDragLeave</a> ()</td></tr>
<tr class="memdesc:a4e4d84b7b76b6f4d3a4150536556ebe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the framework when the cursor leaves the window while a dragging operation is in effect. <br /></td></tr>
<tr class="separator:a4e4d84b7b76b6f4d3a4150536556ebe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7155f4841e7fd2ace78f04b1d649fa1e"><td class="memItemLeft" align="right" valign="top">virtual BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a7155f4841e7fd2ace78f04b1d649fa1e">OnDrop</a> (COleDataObject *pDataObject, DROPEFFECT dropEffect, CPoint point)</td></tr>
<tr class="memdesc:a7155f4841e7fd2ace78f04b1d649fa1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the framework when a drop operation is to occur.  <a href="#a7155f4841e7fd2ace78f04b1d649fa1e">More...</a><br /></td></tr>
<tr class="separator:a7155f4841e7fd2ace78f04b1d649fa1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeebd2fcd929052df87c1cc539595855"><td class="memItemLeft" align="right" valign="top">virtual BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#adeebd2fcd929052df87c1cc539595855">OnDropSelf</a> (COleDataObject *pDataObject, DROPEFFECT dropEffect, CPoint point)</td></tr>
<tr class="memdesc:adeebd2fcd929052df87c1cc539595855"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the framework when a drop operation is to occur, where the origin is the <a class="el" href="class_c_grid_list_ctrl_ex.html" title="CGridListCtrlEx extends the CListCtrl with several features. ">CGridListCtrlEx</a> itself.  <a href="#adeebd2fcd929052df87c1cc539595855">More...</a><br /></td></tr>
<tr class="separator:adeebd2fcd929052df87c1cc539595855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeba811ba43eb786a236cdc78406ba4b"><td class="memItemLeft" align="right" valign="top">virtual BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#abeba811ba43eb786a236cdc78406ba4b">OnDropExternal</a> (COleDataObject *pDataObject, DROPEFFECT dropEffect, CPoint point)</td></tr>
<tr class="memdesc:abeba811ba43eb786a236cdc78406ba4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the framework when a drop operation is to occur, where the origin is an external source.  <a href="#abeba811ba43eb786a236cdc78406ba4b">More...</a><br /></td></tr>
<tr class="separator:abeba811ba43eb786a236cdc78406ba4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a4dbab19210ae5059da11ff8a0606d0"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a6a4dbab19210ae5059da11ff8a0606d0">MoveSelectedRows</a> (int nDropRow)</td></tr>
<tr class="memdesc:a6a4dbab19210ae5059da11ff8a0606d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the selected rows before the specified row.  <a href="#a6a4dbab19210ae5059da11ff8a0606d0">More...</a><br /></td></tr>
<tr class="separator:a6a4dbab19210ae5059da11ff8a0606d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a306f8b6ca7ec04634fb1689509535070"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a306f8b6ca7ec04634fb1689509535070">OnCustomDrawRow</a> (int nRow, NMLVCUSTOMDRAW *pLVCD, LRESULT *pResult)</td></tr>
<tr class="memdesc:a306f8b6ca7ec04634fb1689509535070"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs custom drawing of the CListCtrl using <a class="el" href="class_c_grid_row_trait.html" title="CGridRowTrait specifies an interface for handling custom drawing at row-level. ">CGridRowTrait</a>.  <a href="#a306f8b6ca7ec04634fb1689509535070">More...</a><br /></td></tr>
<tr class="separator:a306f8b6ca7ec04634fb1689509535070"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a556eb2a94ab33da40ea4b45aeb71c710"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a556eb2a94ab33da40ea4b45aeb71c710">OnCustomDrawCell</a> (int nRow, int nCol, NMLVCUSTOMDRAW *pLVCD, LRESULT *pResult)</td></tr>
<tr class="memdesc:a556eb2a94ab33da40ea4b45aeb71c710"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs custom drawing of the CListCtrl using <a class="el" href="class_c_grid_column_trait.html" title="CGridColumnTrait specifies the methods needed for custom cell handling. ">CGridColumnTrait</a>.  <a href="#a556eb2a94ab33da40ea4b45aeb71c710">More...</a><br /></td></tr>
<tr class="separator:a556eb2a94ab33da40ea4b45aeb71c710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa3b0b1c223355c32e38d4d9e99042be"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aaa3b0b1c223355c32e38d4d9e99042be">OnClickEditStart</a> (int nRow, int nCol, CPoint pt, bool bDblClick)</td></tr>
<tr class="memdesc:aaa3b0b1c223355c32e38d4d9e99042be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to control whether cell edit should be started when clicked with the mouse.  <a href="#aaa3b0b1c223355c32e38d4d9e99042be">More...</a><br /></td></tr>
<tr class="separator:aaa3b0b1c223355c32e38d4d9e99042be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b5da30fe93b94d57c0f26adb481ab48"><td class="memItemLeft" align="right" valign="top">virtual CWnd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a4b5da30fe93b94d57c0f26adb481ab48">OnEditBegin</a> (int nRow, int nCol)</td></tr>
<tr class="memdesc:a4b5da30fe93b94d57c0f26adb481ab48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to control whether cell editing is allowed for a cell.  <a href="#a4b5da30fe93b94d57c0f26adb481ab48">More...</a><br /></td></tr>
<tr class="separator:a4b5da30fe93b94d57c0f26adb481ab48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff8ad10fec3f11217421abc4f9f46c99"><td class="memItemLeft" align="right" valign="top">virtual CWnd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aff8ad10fec3f11217421abc4f9f46c99">OnEditBegin</a> (int nRow, int nCol, CPoint pt)</td></tr>
<tr class="memdesc:aff8ad10fec3f11217421abc4f9f46c99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to control whether cell editing is allowed for a cell.  <a href="#aff8ad10fec3f11217421abc4f9f46c99">More...</a><br /></td></tr>
<tr class="separator:aff8ad10fec3f11217421abc4f9f46c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72cb48f9b7ea05751e49f3f5bb7e70f7"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a72cb48f9b7ea05751e49f3f5bb7e70f7">OnEditComplete</a> (int nRow, int nCol, CWnd *pEditor, LV_DISPINFO *pLVDI)</td></tr>
<tr class="memdesc:a72cb48f9b7ea05751e49f3f5bb7e70f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to validate the new value after a cell edit.  <a href="#a72cb48f9b7ea05751e49f3f5bb7e70f7">More...</a><br /></td></tr>
<tr class="separator:a72cb48f9b7ea05751e49f3f5bb7e70f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3531144d2f29c51989154b7a348b73b9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3531144d2f29c51989154b7a348b73b9">OnContextMenuGrid</a> (CWnd *pWnd, CPoint point)</td></tr>
<tr class="memdesc:a3531144d2f29c51989154b7a348b73b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the context menu when activating context menu in client area with no rows.  <a href="#a3531144d2f29c51989154b7a348b73b9">More...</a><br /></td></tr>
<tr class="separator:a3531144d2f29c51989154b7a348b73b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a947a93af637466d27f145734efb1f0a3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a947a93af637466d27f145734efb1f0a3">OnContextMenuHeader</a> (CWnd *pWnd, CPoint point, int nCol)</td></tr>
<tr class="memdesc:a947a93af637466d27f145734efb1f0a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the context menu when activating context menu for the column headers.  <a href="#a947a93af637466d27f145734efb1f0a3">More...</a><br /></td></tr>
<tr class="separator:a947a93af637466d27f145734efb1f0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeef610f46320c2c99c69266dd126c499"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aeef610f46320c2c99c69266dd126c499">OnContextMenuKeyboard</a> (CWnd *pWnd, CPoint point)</td></tr>
<tr class="memdesc:aeef610f46320c2c99c69266dd126c499"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the context menu when using the keyboard shortcut SHIFT+F10.  <a href="#aeef610f46320c2c99c69266dd126c499">More...</a><br /></td></tr>
<tr class="separator:aeef610f46320c2c99c69266dd126c499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46cdc55e7b0875c0650663d0718f3d30"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a46cdc55e7b0875c0650663d0718f3d30">OnContextMenuCell</a> (CWnd *pWnd, CPoint point, int nRow, int nCol)</td></tr>
<tr class="memdesc:a46cdc55e7b0875c0650663d0718f3d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to change the context menu when activating context menu for a single cell.  <a href="#a46cdc55e7b0875c0650663d0718f3d30">More...</a><br /></td></tr>
<tr class="separator:a46cdc55e7b0875c0650663d0718f3d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9120da2e033e5d34d6d9f9bdc2d8b3e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9120da2e033e5d34d6d9f9bdc2d8b3e6"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a9120da2e033e5d34d6d9f9bdc2d8b3e6">OnCreateStyle</a> ()</td></tr>
<tr class="memdesc:a9120da2e033e5d34d6d9f9bdc2d8b3e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the initial style of the list control when the it is created. <br /></td></tr>
<tr class="separator:a9120da2e033e5d34d6d9f9bdc2d8b3e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bd05cc1343e5eb528dcd238f4f8582a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bd05cc1343e5eb528dcd238f4f8582a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a0bd05cc1343e5eb528dcd238f4f8582a">OnCopyToClipboard</a> ()</td></tr>
<tr class="memdesc:a0bd05cc1343e5eb528dcd238f4f8582a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies the contents of the selected rows into the global clipboard. <br /></td></tr>
<tr class="separator:a0bd05cc1343e5eb528dcd238f4f8582a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ad2382c453ec7d11effac3af2c584ad"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a9ad2382c453ec7d11effac3af2c584ad">PreSubclassWindow</a> ()</td></tr>
<tr class="memdesc:a9ad2382c453ec7d11effac3af2c584ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normally used for subclassing controls, but here used to configure initial style when list control is created.  <a href="#a9ad2382c453ec7d11effac3af2c584ad">More...</a><br /></td></tr>
<tr class="separator:a9ad2382c453ec7d11effac3af2c584ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef1452aa40a052c473aed75de0a8a1a4"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aef1452aa40a052c473aed75de0a8a1a4">OnToolHitTest</a> (CPoint point, TOOLINFO *pTI) const </td></tr>
<tr class="memdesc:aef1452aa40a052c473aed75de0a8a1a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the MFC framework during mouse over to detemine whether a point is in the bounding rectangle of the specified tool.  <a href="#aef1452aa40a052c473aed75de0a8a1a4">More...</a><br /></td></tr>
<tr class="separator:aef1452aa40a052c473aed75de0a8a1a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cd650f1d47ca997ef5070145a9e52ba"><td class="memItemLeft" align="right" valign="top">virtual afx_msg int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3cd650f1d47ca997ef5070145a9e52ba">OnCreate</a> (LPCREATESTRUCT lpCreateStruct)</td></tr>
<tr class="memdesc:a3cd650f1d47ca997ef5070145a9e52ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_CREATE message handler.  <a href="#a3cd650f1d47ca997ef5070145a9e52ba">More...</a><br /></td></tr>
<tr class="separator:a3cd650f1d47ca997ef5070145a9e52ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15017b6ca5b3faa6fbf8c05fea4aad2e"><td class="memItemLeft" align="right" valign="top">virtual afx_msg LRESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a15017b6ca5b3faa6fbf8c05fea4aad2e">OnDeleteColumn</a> (WPARAM wParam, LPARAM lParam)</td></tr>
<tr class="memdesc:a15017b6ca5b3faa6fbf8c05fea4aad2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVM_DELETECOLUMN message handler to ensure the column trait container is updated when columns are removed.  <a href="#a15017b6ca5b3faa6fbf8c05fea4aad2e">More...</a><br /></td></tr>
<tr class="separator:a15017b6ca5b3faa6fbf8c05fea4aad2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aaf8ce8d24d963aca0f93017dc7c896"><td class="memItemLeft" align="right" valign="top">virtual afx_msg LRESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1aaf8ce8d24d963aca0f93017dc7c896">OnInsertColumn</a> (WPARAM wParam, LPARAM lParam)</td></tr>
<tr class="memdesc:a1aaf8ce8d24d963aca0f93017dc7c896"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVM_INSERTCOLUMN message handler to ensure the column trait container is updated when columns are inserted.  <a href="#a1aaf8ce8d24d963aca0f93017dc7c896">More...</a><br /></td></tr>
<tr class="separator:a1aaf8ce8d24d963aca0f93017dc7c896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79a2b2a683e02ddec2153c184f11cff8"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a79a2b2a683e02ddec2153c184f11cff8">OnItemClick</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a79a2b2a683e02ddec2153c184f11cff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">NM_CLICK message handler called when left-clicking in a cell.  <a href="#a79a2b2a683e02ddec2153c184f11cff8">More...</a><br /></td></tr>
<tr class="separator:a79a2b2a683e02ddec2153c184f11cff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad11381552ce98d2d3059c99449a47176"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ad11381552ce98d2d3059c99449a47176">OnItemDblClick</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:ad11381552ce98d2d3059c99449a47176"><td class="mdescLeft">&#160;</td><td class="mdescRight">NM_DBLCLK message handler called when double-clicking in a cell.  <a href="#ad11381552ce98d2d3059c99449a47176">More...</a><br /></td></tr>
<tr class="separator:ad11381552ce98d2d3059c99449a47176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74d0ac13f79b949894a1a9a1c0d1594c"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a74d0ac13f79b949894a1a9a1c0d1594c">OnGetDispInfo</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a74d0ac13f79b949894a1a9a1c0d1594c"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVN_GETDISPINFO message handler, which is called when details are needed for an item that specifies callback.  <a href="#a74d0ac13f79b949894a1a9a1c0d1594c">More...</a><br /></td></tr>
<tr class="separator:a74d0ac13f79b949894a1a9a1c0d1594c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42c8948ec4d7a60699e3420151665faa"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a42c8948ec4d7a60699e3420151665faa">OnChar</a> (UINT nChar, UINT nRepCnt, UINT nFlags)</td></tr>
<tr class="memdesc:a42c8948ec4d7a60699e3420151665faa"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_CHAR message handler for performing keyboard search with subitems.  <a href="#a42c8948ec4d7a60699e3420151665faa">More...</a><br /></td></tr>
<tr class="separator:a42c8948ec4d7a60699e3420151665faa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc8f1f26036bf8f4e428bbd85949a3ad"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#abc8f1f26036bf8f4e428bbd85949a3ad">OnKeyDown</a> (UINT nChar, UINT nRepCnt, UINT nFlags)</td></tr>
<tr class="memdesc:abc8f1f26036bf8f4e428bbd85949a3ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_KEYDOWN message handler for performing keyboard navigation.  <a href="#abc8f1f26036bf8f4e428bbd85949a3ad">More...</a><br /></td></tr>
<tr class="separator:abc8f1f26036bf8f4e428bbd85949a3ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a132f01ec62e52fc1859be2d6bc1ea469"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a132f01ec62e52fc1859be2d6bc1ea469">OnLButtonDown</a> (UINT nFlags, CPoint point)</td></tr>
<tr class="memdesc:a132f01ec62e52fc1859be2d6bc1ea469"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_LBUTTONDOWN message handler called when the user presses the left mouse button while the cursor is in the client area of a window.  <a href="#a132f01ec62e52fc1859be2d6bc1ea469">More...</a><br /></td></tr>
<tr class="separator:a132f01ec62e52fc1859be2d6bc1ea469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff337d340df97fc6e7ae503a0f41c1b5"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aff337d340df97fc6e7ae503a0f41c1b5">OnRButtonDown</a> (UINT nFlags, CPoint point)</td></tr>
<tr class="memdesc:aff337d340df97fc6e7ae503a0f41c1b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_RBUTTONDOWN message handler called when the user presses the right mouse button while the cursor is in the client area of a window.  <a href="#aff337d340df97fc6e7ae503a0f41c1b5">More...</a><br /></td></tr>
<tr class="separator:aff337d340df97fc6e7ae503a0f41c1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dd0daf8213ceeb95bfd8c785a59dc1a"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a8dd0daf8213ceeb95bfd8c785a59dc1a">OnLButtonDblClk</a> (UINT nFlags, CPoint point)</td></tr>
<tr class="memdesc:a8dd0daf8213ceeb95bfd8c785a59dc1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The WM_LBUTTONDBLCLK message is posted when the user double-clicks the left mouse button while the cursor is in the client area of a window Used to flip the checkbox image even when double-clicking.  <a href="#a8dd0daf8213ceeb95bfd8c785a59dc1a">More...</a><br /></td></tr>
<tr class="separator:a8dd0daf8213ceeb95bfd8c785a59dc1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f52131c002ac1840375ee53e1392487"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a2f52131c002ac1840375ee53e1392487">OnCustomDraw</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a2f52131c002ac1840375ee53e1392487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs custom drawing of the CListCtrl.  <a href="#a2f52131c002ac1840375ee53e1392487">More...</a><br /></td></tr>
<tr class="separator:a2f52131c002ac1840375ee53e1392487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a775ae32ee0f42784b73aeba7ff0e3087"><td class="memItemLeft" align="right" valign="top">virtual afx_msg LRESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a775ae32ee0f42784b73aeba7ff0e3087">OnSetColumnWidth</a> (WPARAM wParam, LPARAM lParam)</td></tr>
<tr class="memdesc:a775ae32ee0f42784b73aeba7ff0e3087"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVM_SETCOLUMNWIDTH message handler called when wanting to resize a column.  <a href="#a775ae32ee0f42784b73aeba7ff0e3087">More...</a><br /></td></tr>
<tr class="separator:a775ae32ee0f42784b73aeba7ff0e3087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ce3be8a671bae0274620efc2cdc2efd"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a6ce3be8a671bae0274620efc2cdc2efd">OnHeaderDividerDblClick</a> (UINT, NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a6ce3be8a671bae0274620efc2cdc2efd"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDN_DIVIDERDBLCLICK message handler called when double clicking the divider in the columns of the CHeaderCtrl.  <a href="#a6ce3be8a671bae0274620efc2cdc2efd">More...</a><br /></td></tr>
<tr class="separator:a6ce3be8a671bae0274620efc2cdc2efd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19bb8f4e776d7f582476268e29e6e303"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a19bb8f4e776d7f582476268e29e6e303">OnHeaderBeginResize</a> (UINT, NMHDR *pNmhdr, LRESULT *pResult)</td></tr>
<tr class="memdesc:a19bb8f4e776d7f582476268e29e6e303"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDN_BEGINTRACK message handler called when resizing columns.  <a href="#a19bb8f4e776d7f582476268e29e6e303">More...</a><br /></td></tr>
<tr class="separator:a19bb8f4e776d7f582476268e29e6e303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8687667222a1ed587ccc9598732be1fd"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a8687667222a1ed587ccc9598732be1fd">OnHeaderBeginDrag</a> (UINT, NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a8687667222a1ed587ccc9598732be1fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDN_BEGINDRAG message handler called when about to move a column to a new position.  <a href="#a8687667222a1ed587ccc9598732be1fd">More...</a><br /></td></tr>
<tr class="separator:a8687667222a1ed587ccc9598732be1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fbb282bea677ce9d3659da04d3aea34"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1fbb282bea677ce9d3659da04d3aea34">OnHeaderEndResize</a> (UINT, NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a1fbb282bea677ce9d3659da04d3aea34"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDN_ENDTRACK message handler called after column resize.  <a href="#a1fbb282bea677ce9d3659da04d3aea34">More...</a><br /></td></tr>
<tr class="separator:a1fbb282bea677ce9d3659da04d3aea34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5560cbe72f220dc083f69b557fdb31e7"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a5560cbe72f220dc083f69b557fdb31e7">OnHeaderItemChanging</a> (UINT, NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a5560cbe72f220dc083f69b557fdb31e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDN_ITEMCHANGING message handler called during column resize.  <a href="#a5560cbe72f220dc083f69b557fdb31e7">More...</a><br /></td></tr>
<tr class="separator:a5560cbe72f220dc083f69b557fdb31e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad70ad26d6031e96f92c5aefcf5da15"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aaad70ad26d6031e96f92c5aefcf5da15">OnHeaderEndDrag</a> (UINT, NMHDR *pNmhdr, LRESULT *pResult)</td></tr>
<tr class="memdesc:aaad70ad26d6031e96f92c5aefcf5da15"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDN_ENDDRAG message handler called after a column have been dragged, but before the column order has been updated.  <a href="#aaad70ad26d6031e96f92c5aefcf5da15">More...</a><br /></td></tr>
<tr class="separator:aaad70ad26d6031e96f92c5aefcf5da15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afea491c69be12d7d302d0416b345fae4"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#afea491c69be12d7d302d0416b345fae4">OnHeaderClick</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:afea491c69be12d7d302d0416b345fae4"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVN_COLUMNCLICK message handler called when clicking a column header.  <a href="#afea491c69be12d7d302d0416b345fae4">More...</a><br /></td></tr>
<tr class="separator:afea491c69be12d7d302d0416b345fae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3677463649729bedd0f7884ce9541360"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3677463649729bedd0f7884ce9541360">OnToolNeedText</a> (UINT, NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a3677463649729bedd0f7884ce9541360"><td class="mdescLeft">&#160;</td><td class="mdescRight">TTN_NEEDTEXT message handler called when the tooltip timer fires.  <a href="#a3677463649729bedd0f7884ce9541360">More...</a><br /></td></tr>
<tr class="separator:a3677463649729bedd0f7884ce9541360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5ce088293b0668316711d6b787de176"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aa5ce088293b0668316711d6b787de176">OnBeginLabelEdit</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:aa5ce088293b0668316711d6b787de176"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVN_BEGINLABELEDIT message handler called when start editing a cell.  <a href="#aa5ce088293b0668316711d6b787de176">More...</a><br /></td></tr>
<tr class="separator:aa5ce088293b0668316711d6b787de176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b5c171fbec8c4870f8c2bf6363a9820"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a5b5c171fbec8c4870f8c2bf6363a9820">OnEndLabelEdit</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a5b5c171fbec8c4870f8c2bf6363a9820"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVN_ENDLABELEDIT message handler called when completed a cell edit.  <a href="#a5b5c171fbec8c4870f8c2bf6363a9820">More...</a><br /></td></tr>
<tr class="separator:a5b5c171fbec8c4870f8c2bf6363a9820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0c8e56a41390bc9d20b18de6058d300"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ab0c8e56a41390bc9d20b18de6058d300">OnOwnerDataFindItem</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:ab0c8e56a41390bc9d20b18de6058d300"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVN_ODFINDITEM message handler for performing keyboard search when LVS_OWNERDATA (virtual list)  <a href="#ab0c8e56a41390bc9d20b18de6058d300">More...</a><br /></td></tr>
<tr class="separator:ab0c8e56a41390bc9d20b18de6058d300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5906df0b41e263ab9dbbc1642b7b5785"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a5906df0b41e263ab9dbbc1642b7b5785">OnHScroll</a> (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)</td></tr>
<tr class="memdesc:a5906df0b41e263ab9dbbc1642b7b5785"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_HSCROLL message handler called when scrolling in the list control.  <a href="#a5906df0b41e263ab9dbbc1642b7b5785">More...</a><br /></td></tr>
<tr class="separator:a5906df0b41e263ab9dbbc1642b7b5785"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad330936c2ea0ae10ef49fb2133896f39"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ad330936c2ea0ae10ef49fb2133896f39">OnVScroll</a> (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)</td></tr>
<tr class="memdesc:ad330936c2ea0ae10ef49fb2133896f39"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_VSCROLL message handler called when scrolling in the list control.  <a href="#ad330936c2ea0ae10ef49fb2133896f39">More...</a><br /></td></tr>
<tr class="separator:ad330936c2ea0ae10ef49fb2133896f39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fbec30aff7871244e25d0601a2b25e4"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a3fbec30aff7871244e25d0601a2b25e4">OnContextMenu</a> (CWnd *, CPoint point)</td></tr>
<tr class="memdesc:a3fbec30aff7871244e25d0601a2b25e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_CONTEXTMENU message handler to show popup menu when mouse right click is used (or SHIFT+F10 on the keyboard)  <a href="#a3fbec30aff7871244e25d0601a2b25e4">More...</a><br /></td></tr>
<tr class="separator:a3fbec30aff7871244e25d0601a2b25e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89a3c7b5100c17d54e2249a2c960b4cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89a3c7b5100c17d54e2249a2c960b4cc"></a>
virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a89a3c7b5100c17d54e2249a2c960b4cc">OnDestroy</a> ()</td></tr>
<tr class="memdesc:a89a3c7b5100c17d54e2249a2c960b4cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Notify that the window has been destroyed. <br /></td></tr>
<tr class="separator:a89a3c7b5100c17d54e2249a2c960b4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cc0de3814b2a080657e0f65ea3a5a42"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a7cc0de3814b2a080657e0f65ea3a5a42">OnPaint</a> ()</td></tr>
<tr class="memdesc:a7cc0de3814b2a080657e0f65ea3a5a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_PAINT message handler called when needing to redraw list control.  <a href="#a7cc0de3814b2a080657e0f65ea3a5a42">More...</a><br /></td></tr>
<tr class="separator:a7cc0de3814b2a080657e0f65ea3a5a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae14437c7098727af92895262e1260b06"><td class="memItemLeft" align="right" valign="top">virtual afx_msg void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ae14437c7098727af92895262e1260b06">OnKillFocus</a> (CWnd *pNewWnd)</td></tr>
<tr class="memdesc:ae14437c7098727af92895262e1260b06"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_KILLFOCUS message handler called when list control is loosing focus to other control.  <a href="#ae14437c7098727af92895262e1260b06">More...</a><br /></td></tr>
<tr class="separator:ae14437c7098727af92895262e1260b06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad864df4e9a0040291651fede870127f0"><td class="memItemLeft" align="right" valign="top">virtual afx_msg LRESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ad864df4e9a0040291651fede870127f0">OnCopy</a> (WPARAM wParam, LPARAM lParam)</td></tr>
<tr class="memdesc:ad864df4e9a0040291651fede870127f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_COPY message handler.  <a href="#ad864df4e9a0040291651fede870127f0">More...</a><br /></td></tr>
<tr class="separator:ad864df4e9a0040291651fede870127f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c44ca34390cc89253bddd1b53d8b012"><td class="memItemLeft" align="right" valign="top">virtual afx_msg LRESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a2c44ca34390cc89253bddd1b53d8b012">OnSetFont</a> (WPARAM wParam, LPARAM lParam)</td></tr>
<tr class="memdesc:a2c44ca34390cc89253bddd1b53d8b012"><td class="mdescLeft">&#160;</td><td class="mdescRight">WM_SETFONT message handler.  <a href="#a2c44ca34390cc89253bddd1b53d8b012">More...</a><br /></td></tr>
<tr class="separator:a2c44ca34390cc89253bddd1b53d8b012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a587752a4addb6e81c848583ae8c1e3a4"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a587752a4addb6e81c848583ae8c1e3a4">OnBeginDrag</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a587752a4addb6e81c848583ae8c1e3a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVN_BEGINDRAG message handler called when performing left-click drag.  <a href="#a587752a4addb6e81c848583ae8c1e3a4">More...</a><br /></td></tr>
<tr class="separator:a587752a4addb6e81c848583ae8c1e3a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77bbe98866808f84c22e7754c07674e0"><td class="memItemLeft" align="right" valign="top">virtual afx_msg BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a77bbe98866808f84c22e7754c07674e0">OnItemChanged</a> (NMHDR *pNMHDR, LRESULT *pResult)</td></tr>
<tr class="memdesc:a77bbe98866808f84c22e7754c07674e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">LVN_ITEMCHANGED message handler called when a row changes state When using LVS_OWNERDATA style, this only gets called for single item state change.  <a href="#a77bbe98866808f84c22e7754c07674e0">More...</a><br /></td></tr>
<tr class="separator:a77bbe98866808f84c22e7754c07674e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32b25b0a99f902b476d445cdce4265f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32b25b0a99f902b476d445cdce4265f1"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>DECLARE_MESSAGE_MAP</b> ()</td></tr>
<tr class="separator:a32b25b0a99f902b476d445cdce4265f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a47187177b304ce1cabffab461358bca2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47187177b304ce1cabffab461358bca2"></a>
CSimpleArray&lt; <a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a47187177b304ce1cabffab461358bca2">m_ColumnTraits</a></td></tr>
<tr class="memdesc:a47187177b304ce1cabffab461358bca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column traits registered (One for each column) <br /></td></tr>
<tr class="separator:a47187177b304ce1cabffab461358bca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af3c639106209af0e154ae7ba00da04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1af3c639106209af0e154ae7ba00da04"></a>
<a class="el" href="class_c_view_config_section_profiles.html">CViewConfigSectionProfiles</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1af3c639106209af0e154ae7ba00da04">m_pColumnConfig</a></td></tr>
<tr class="memdesc:a1af3c639106209af0e154ae7ba00da04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column state persistence. <br /></td></tr>
<tr class="separator:a1af3c639106209af0e154ae7ba00da04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6e109f76e7ed4633b921bf8cd1131f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6e109f76e7ed4633b921bf8cd1131f1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aa6e109f76e7ed4633b921bf8cd1131f1">m_bConfigOwner</a></td></tr>
<tr class="memdesc:aa6e109f76e7ed4633b921bf8cd1131f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column state persistence object is freed by destructor. <br /></td></tr>
<tr class="separator:aa6e109f76e7ed4633b921bf8cd1131f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8653b2be7338788ae297e8320c2411f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8653b2be7338788ae297e8320c2411f8"></a>
<a class="el" href="class_c_grid_row_trait.html">CGridRowTrait</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a8653b2be7338788ae297e8320c2411f8">m_pDefaultRowTrait</a></td></tr>
<tr class="memdesc:a8653b2be7338788ae297e8320c2411f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default row trait used for special row drawing. <br /></td></tr>
<tr class="separator:a8653b2be7338788ae297e8320c2411f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20cf58fae60fefe4228f7cdfebd3d573"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20cf58fae60fefe4228f7cdfebd3d573"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a20cf58fae60fefe4228f7cdfebd3d573">m_FocusCell</a></td></tr>
<tr class="memdesc:a20cf58fae60fefe4228f7cdfebd3d573"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column currently having focus (-1 means entire row) <br /></td></tr>
<tr class="separator:a20cf58fae60fefe4228f7cdfebd3d573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31ef45c30a143d1068eed11edb3b1504"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31ef45c30a143d1068eed11edb3b1504"></a>
CString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a31ef45c30a143d1068eed11edb3b1504">m_LastSearchString</a></td></tr>
<tr class="memdesc:a31ef45c30a143d1068eed11edb3b1504"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last search criteria for keyboard search. <br /></td></tr>
<tr class="separator:a31ef45c30a143d1068eed11edb3b1504"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6ab81a483239191ee0c052dfff8f05a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6ab81a483239191ee0c052dfff8f05a"></a>
CTime&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ac6ab81a483239191ee0c052dfff8f05a">m_LastSearchTime</a></td></tr>
<tr class="memdesc:ac6ab81a483239191ee0c052dfff8f05a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time of last search attempt for keyboard search. <br /></td></tr>
<tr class="separator:ac6ab81a483239191ee0c052dfff8f05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3341b05475fb4426bc560e6e1200bb4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3341b05475fb4426bc560e6e1200bb4"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ae3341b05475fb4426bc560e6e1200bb4">m_LastSearchCell</a></td></tr>
<tr class="memdesc:ae3341b05475fb4426bc560e6e1200bb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last column used in keyboard search. <br /></td></tr>
<tr class="separator:ae3341b05475fb4426bc560e6e1200bb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81ccafcebdd0d74b1b659636fdec0dd0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81ccafcebdd0d74b1b659636fdec0dd0"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a81ccafcebdd0d74b1b659636fdec0dd0">m_LastSearchRow</a></td></tr>
<tr class="memdesc:a81ccafcebdd0d74b1b659636fdec0dd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last row matched in keyboard search. <br /></td></tr>
<tr class="separator:a81ccafcebdd0d74b1b659636fdec0dd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14f5705505c82c803268aba9a2c4ef6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac14f5705505c82c803268aba9a2c4ef6"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ac14f5705505c82c803268aba9a2c4ef6">m_RepeatSearchCount</a></td></tr>
<tr class="memdesc:ac14f5705505c82c803268aba9a2c4ef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many times the same search have been repeated (same key pressed) <br /></td></tr>
<tr class="separator:ac14f5705505c82c803268aba9a2c4ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0097281473d377f3fcf547d89aed7f52"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0097281473d377f3fcf547d89aed7f52"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a0097281473d377f3fcf547d89aed7f52">m_SortCol</a></td></tr>
<tr class="memdesc:a0097281473d377f3fcf547d89aed7f52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rows are sorted according to this column. <br /></td></tr>
<tr class="separator:a0097281473d377f3fcf547d89aed7f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec542195b8972d2fe028d2112d74dc8d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec542195b8972d2fe028d2112d74dc8d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aec542195b8972d2fe028d2112d74dc8d">m_Ascending</a></td></tr>
<tr class="memdesc:aec542195b8972d2fe028d2112d74dc8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rows are sorted ascending / descending. <br /></td></tr>
<tr class="separator:aec542195b8972d2fe028d2112d74dc8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa270f7314e4e6d6c26f7fb9b906a882d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa270f7314e4e6d6c26f7fb9b906a882d"></a>
CWnd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#aa270f7314e4e6d6c26f7fb9b906a882d">m_pEditor</a></td></tr>
<tr class="memdesc:aa270f7314e4e6d6c26f7fb9b906a882d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cell value editor currently in use. <br /></td></tr>
<tr class="separator:aa270f7314e4e6d6c26f7fb9b906a882d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14c52a94feb6ed6ba345d1983e09ce01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14c52a94feb6ed6ba345d1983e09ce01"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a14c52a94feb6ed6ba345d1983e09ce01">m_UsingVisualStyle</a></td></tr>
<tr class="memdesc:a14c52a94feb6ed6ba345d1983e09ce01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vista Style has been enabled (alpha blend) <br /></td></tr>
<tr class="separator:a14c52a94feb6ed6ba345d1983e09ce01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f95b10834cc88be15c39a6363731d5b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f95b10834cc88be15c39a6363731d5b"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a9f95b10834cc88be15c39a6363731d5b">m_TooltipMaxWidth</a></td></tr>
<tr class="memdesc:a9f95b10834cc88be15c39a6363731d5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether tooltips should be split in multiple lines. <br /></td></tr>
<tr class="separator:a9f95b10834cc88be15c39a6363731d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10ef5d405d47f66912b4fc4583fe94cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10ef5d405d47f66912b4fc4583fe94cc"></a>
CFont&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a10ef5d405d47f66912b4fc4583fe94cc">m_GridFont</a></td></tr>
<tr class="memdesc:a10ef5d405d47f66912b4fc4583fe94cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Original font of the the list control. <br /></td></tr>
<tr class="separator:a10ef5d405d47f66912b4fc4583fe94cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34b71d9849e433d7ea3af2efca8a9458"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34b71d9849e433d7ea3af2efca8a9458"></a>
CFont&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a34b71d9849e433d7ea3af2efca8a9458">m_CellFont</a></td></tr>
<tr class="memdesc:a34b71d9849e433d7ea3af2efca8a9458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current font to draw rows. <br /></td></tr>
<tr class="separator:a34b71d9849e433d7ea3af2efca8a9458"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad41e218e450d34350132916f45ac4508"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad41e218e450d34350132916f45ac4508"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ad41e218e450d34350132916f45ac4508">m_Margin</a></td></tr>
<tr class="memdesc:ad41e218e450d34350132916f45ac4508"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current margin between original font and cell font. <br /></td></tr>
<tr class="separator:ad41e218e450d34350132916f45ac4508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab501c48ca1a9293cd19e65b0288fe137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab501c48ca1a9293cd19e65b0288fe137"></a>
CString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ab501c48ca1a9293cd19e65b0288fe137">m_EmptyMarkupText</a></td></tr>
<tr class="memdesc:ab501c48ca1a9293cd19e65b0288fe137"><td class="mdescLeft">&#160;</td><td class="mdescRight">Text to display when list control is empty. <br /></td></tr>
<tr class="separator:ab501c48ca1a9293cd19e65b0288fe137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c80ee58db460e1932360aff7691693"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1c80ee58db460e1932360aff7691693"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#ae1c80ee58db460e1932360aff7691693">m_InvalidateMarkupText</a></td></tr>
<tr class="memdesc:ae1c80ee58db460e1932360aff7691693"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ensure that the empty markup text is cleared properly. <br /></td></tr>
<tr class="separator:ae1c80ee58db460e1932360aff7691693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b6850ebba844579d6424e46563a9363"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b6850ebba844579d6424e46563a9363"></a>
<a class="el" href="class_c_ole_drop_target_wnd.html">COleDropTargetWnd</a>&lt; <a class="el" href="class_c_grid_list_ctrl_ex.html">CGridListCtrlEx</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_grid_list_ctrl_ex.html#a1b6850ebba844579d6424e46563a9363">m_pOleDropTarget</a></td></tr>
<tr class="memdesc:a1b6850ebba844579d6424e46563a9363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maintains OLE drag drop target. <br /></td></tr>
<tr class="separator:a1b6850ebba844579d6424e46563a9363"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a9a4befb6ad58d2b8265e280033db137f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a4befb6ad58d2b8265e280033db137f"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>COleDropTargetWnd&lt; CGridListCtrlEx &gt;</b></td></tr>
<tr class="separator:a9a4befb6ad58d2b8265e280033db137f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3539c02d817dabeb4727b56f97854b2e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3539c02d817dabeb4727b56f97854b2e"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>COleDropSourceWnd&lt; CGridListCtrlEx &gt;</b></td></tr>
<tr class="separator:a3539c02d817dabeb4727b56f97854b2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="class_c_grid_list_ctrl_ex.html" title="CGridListCtrlEx extends the CListCtrl with several features. ">CGridListCtrlEx</a> extends the CListCtrl with several features. </p>
<ul>
<li>Cell editing and customization through use of <a class="el" href="class_c_grid_column_trait.html" title="CGridColumnTrait specifies the methods needed for custom cell handling. ">CGridColumnTrait</a></li>
<li>Sortable</li>
<li>Simple column picker</li>
<li>Cell navigation</li>
<li>Keyboard search navigation</li>
<li>Cell tooltip</li>
<li>Clipboard (copy only)</li>
<li>OLE Drag and drop</li>
<li>Column state persistence (width, order, etc.) </li>
</ul>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a95d4ea636dc23182628f95e992f2b839"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT CGridListCtrlEx::CellHitTest </td>
          <td>(</td>
          <td class="paramtype">const CPoint &amp;&#160;</td>
          <td class="paramname"><em>pt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replicates the SubItemHitTest() but in a const version. </p>
<p>Finds the cell below the given mouse cursor position.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pt</td><td>The position to hit test, in client coordinates. </td></tr>
    <tr><td class="paramname">nRow</td><td>The index of the row (Returns -1 if no row) </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column (Returns -1 if no column) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the location of the cell hit (LVHT_NOWHERE, LVHT_ONITEMICON, LVHT_ONITEMLABEL, LVHT_ONITEMSTATEICON, LVHT_ONITEM) </dd></dl>

</div>
</div>
<a class="anchor" id="a2451ed9a7fe48440fba9a5d057e89f57"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::CheckOSVersion </td>
          <td>(</td>
          <td class="paramtype">WORD&#160;</td>
          <td class="paramname"><em>requestOS</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checks if the current OS version against the requested OS version. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">requestOS</td><td>The full version number of the OS required (Ex 0x0600) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8e4586d9651830eda9400f6f6bbe69e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::DeleteColumnTrait </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal maintenance function for the column trait container. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column just deleted </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adc1c5cdbe778a1642316cc88010af089"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">DROPEFFECT CGridListCtrlEx::DoDragDrop </td>
          <td>(</td>
          <td class="paramtype">COleDataSource &amp;&#160;</td>
          <td class="paramname"><em>oleDataSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">COleDropSource *&#160;</td>
          <td class="paramname"><em>pDropSource</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DWORD&#160;</td>
          <td class="paramname"><em>dropEffects</em> = <code>DROPEFFECT_COPY|DROPEFFECT_MOVE|DROPEFFECT_LINK</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPCRECT&#160;</td>
          <td class="paramname"><em>lpRectStartDrag</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Takes the contents of the selected rows, and starts a drag-drop operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">oleDataSource</td><td>Cache for placing the data selected for drag-drop operation </td></tr>
    <tr><td class="paramname">dropEffects</td><td>Drag-and-drop operations that are allowed on this data source </td></tr>
    <tr><td class="paramname">lpRectStartDrag</td><td>Pointer to the rectangle that defines where the drag actually starts </td></tr>
    <tr><td class="paramname">pDropSource</td><td>Points to a drop source. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Drop effect generated by the drag-and-drop operation; otherwise DROPEFFECT_NONE </dd></dl>

</div>
</div>
<a class="anchor" id="a741660fd09e66a673a406cebd0dec3e3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CWnd * CGridListCtrlEx::EditCell </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Starts the edit of a cell and sends a message to the parent window. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the cell editor (If NULL then block cell editing) </dd></dl>

</div>
</div>
<a class="anchor" id="ae052907e1ed5f4fa72b73d7f3e4971cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CWnd * CGridListCtrlEx::EditCell </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>pt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Starts the edit of a cell and sends a message to the parent window. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">pt</td><td>The position clicked, in client coordinates. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the cell editor (If NULL then block cell editing) </dd></dl>

</div>
</div>
<a class="anchor" id="a8a60d10b7db4b90183ee6256e86ea7c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LRESULT CGridListCtrlEx::EnableVisualStyles </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bValue</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activate visual style for the list control (Vista Theme) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bValue</td><td>Specifies whether the visual styles should be enabled or not </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>S_FALSE if visual styles could not be enabled </dd></dl>

</div>
</div>
<a class="anchor" id="a02e7f426f417219ba2f170e955d4d333"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::EnsureColumnVisible </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bPartialOK</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Scrolls the view, so the column becomes visible. </p>
<p><a href="http://www.codeguru.com/cpp/controls/listview/columns/article.php/c931/">http://www.codeguru.com/cpp/controls/listview/columns/article.php/c931/</a></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">bPartialOK</td><td>Is partially visible good enough ? </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if successful; otherwise zero. </dd></dl>

</div>
</div>
<a class="anchor" id="a4ee937b9f7164ce10e8116fa8bd24ea5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> * CGridListCtrlEx::GetCellColumnTrait </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the column trait of a specified cell. </p>
<p>Makes it possible to override the column trait of a single cell</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The column trait pointer of the cell </dd></dl>

</div>
</div>
<a class="anchor" id="a3d387170c83505dd39a034ceea4eaab8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CFont * CGridListCtrlEx::GetCellFont </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the font used to draw cells in the list control. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the current font used by the list control. </dd></dl>

</div>
</div>
<a class="anchor" id="a9a54ed810b742892eab6b69b6e69bfd4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::GetCellImage </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves the icon index of the specified cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Index of the cell's icon in the control's image list (I_IMAGECALLBACK means no image) </dd></dl>

</div>
</div>
<a class="anchor" id="a2fd6130ca19e09cb01006071e324bdb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::GetCellRect </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CRect &amp;&#160;</td>
          <td class="paramname"><em>rect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Improved version of GetSubItemRect(). </p>
<ul>
<li>It doesn't return entire row-rect when using LVIR_BOUNDS for label-column (nCol==0)</li>
<li>It supports LVIR_LABEL for sub-items (nCol&gt;0)</li>
<li>It supports LVIR_BOUNDS when column width is less than subitem image width</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">nCode</td><td>Determines the portion of the bounding rectangle (of the list view subitem) to be retrieved. </td></tr>
    <tr><td class="paramname">rect</td><td>Reference to a CRect object that contains the coordinates of the cell's bounding rectangle. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if successful; otherwise zero. </dd></dl>

</div>
</div>
<a class="anchor" id="ac7aa622d55475024541b3cf6564ba611"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::GetColumnCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves the number of columns from the header control. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of header control items if successful; otherwise � 1. </dd></dl>

</div>
</div>
<a class="anchor" id="a68641446f8ca2fd5e5e66d9785f3409c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::GetColumnData </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The column version of GetItemData(), one can specify an unique identifier when using InsertColumn() </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>Index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Unique identifier of the column specified </dd></dl>

</div>
</div>
<a class="anchor" id="ad98e055a8eae5cfe2852bf3fca6b5266"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CString CGridListCtrlEx::GetColumnHeading </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve column title of a column in the list control NOTE! It will only return the first 255 characters of the header. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>Index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Column header text of the specified column </dd></dl>

</div>
</div>
<a class="anchor" id="ab1dfae59c002859e3538070e5152d1c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::GetColumnOrder </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get column position in the CHeaderCtrl's display order array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>Index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Column offset is in left-to-right order. For example, zero indicates the leftmost column. </dd></dl>

</div>
</div>
<a class="anchor" id="a92785cf03b0ef02ffc199d963e3205b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> * CGridListCtrlEx::GetColumnTrait </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the column trait for the entire column. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The column trait pointer for the entire column </dd></dl>

</div>
</div>
<a class="anchor" id="a9d9e631c62b9fc3d8404c8b746143129"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::GetColumnTraitSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the number of column traits registered. </p>
<dl class="section return"><dt>Returns</dt><dd>The number or column traits </dd></dl>

</div>
</div>
<a class="anchor" id="a67405a8b0250212e8c180f7f298221af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::GetFirstVisibleColumn </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the column index of the first visible column. </p>
<dl class="section return"><dt>Returns</dt><dd>Column index of the first visible column (-1 if no visible columns) </dd></dl>

</div>
</div>
<a class="anchor" id="a1b6a270a4a5ece1a674b90a251d4b341"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::GetFocusRow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve row with the LVIS_FOCUSED state flag set. </p>
<dl class="section return"><dt>Returns</dt><dd>The index of the row if successful, or -1 otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="af5676760c3f8e78d5fb510d34f566d7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const CHeaderCtrl * CGridListCtrlEx::GetHeaderCtrl </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves the header control of a list control. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the header control, used by the list control. </dd></dl>

</div>
</div>
<a class="anchor" id="a1625cd255cca21e83197dc24a417fd07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_grid_row_trait.html">CGridRowTrait</a> * CGridListCtrlEx::GetRowTrait </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the row trait for the specified row. </p>
<p>Override this to provide a custom row trait for a certain row</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to row trait </dd></dl>

</div>
</div>
<a class="anchor" id="ab07a14b022b5f1a993055a4fc5200083"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::HasColumnDefaultState </td>
          <td>(</td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strTitle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Has the ability to reset the column configuration to its default configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">strTitle</td><td>Title to show in the context menu when right-clicking the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Default column configuration is available (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="ad8da8f343b98d30d4034b2a8502bf150"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::HasColumnEditor </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strTitle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is there a column configuration editor available for this column ? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">strTitle</td><td>Title to show in the context menu when right-clicking the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Column editor available (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a67c86835fe62ad060fdca53b021eda40"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::HasColumnPicker </td>
          <td>(</td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strTitle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is there a column picker available that can add / remove columns. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">strTitle</td><td>Title to show in the context menu when right-clicking the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Column picker available (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="ae043a7c4ec5e39aeb4cbf32ac3a130b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CString CGridListCtrlEx::HasColumnProfiles </td>
          <td>(</td>
          <td class="paramtype">CSimpleArray&lt; CString &gt; &amp;&#160;</td>
          <td class="paramname"><em>profiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strTitle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Can switch between multiple column configurations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">profiles</td><td>List of available column profiles </td></tr>
    <tr><td class="paramname">strTitle</td><td>Title to show in the context menu when right-clicking the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Name of the current column profile </dd></dl>

</div>
</div>
<a class="anchor" id="afaadc6cb087a3278d8bea802e6994e59"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::InsertColumnTrait </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CString &amp;&#160;</td>
          <td class="paramname"><em>strColumnHeading</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nFormat</em> = <code>LVCFMT_LEFT</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nWidth</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nSubItem</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> *&#160;</td>
          <td class="paramname"><em>pTrait</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a new column in the list control, and gives the option to customize the column using a trait. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>Index of the new column </td></tr>
    <tr><td class="paramname">strColumnHeading</td><td>Title of the new column </td></tr>
    <tr><td class="paramname">nFormat</td><td>Text alignment of the new column </td></tr>
    <tr><td class="paramname">nWidth</td><td>Width of the new column </td></tr>
    <tr><td class="paramname">nSubItem</td><td>Unique identifier used to recognize the column independent of index </td></tr>
    <tr><td class="paramname">pTrait</td><td>Column trait interface for the new column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the new column if successful or -1 otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ae182fc1595ecdad45f8209f10af10492"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::InsertColumnTrait </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_c_grid_column_trait.html">CGridColumnTrait</a> *&#160;</td>
          <td class="paramname"><em>pTrait</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal maintenance function for the column trait container. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the new column to get a column trait </td></tr>
    <tr><td class="paramname">pTrait</td><td>The column trait of the new column </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1821acd36833fa009d8dce2dad0ad3c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::InsertHiddenLabelColumn </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts the label column (first column) with invisible state The label column behaves differently from the rest of the columns, and to get the uniform look, then it should be hidden away. </p>
<ul>
<li>It has a special margin, which no other column has</li>
<li>When dragged to another position than the first, then it looses it special margin</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>The index of the new column if successful or -1 otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ab49ad4743ad784718ea4e0844e60e4e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::InternalColumnPicker </td>
          <td>(</td>
          <td class="paramtype">CMenu &amp;&#160;</td>
          <td class="paramname"><em>menu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal method to add all available columns to the context menu. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">menu</td><td>The popup context menu </td></tr>
    <tr><td class="paramname">offset</td><td>Start offset to use when adding new menu items to the context menu </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of menu items added to the context menu </dd></dl>

</div>
</div>
<a class="anchor" id="a3857b77fd2e349c16c6ef6d258023d46"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::InternalColumnProfileSwitcher </td>
          <td>(</td>
          <td class="paramtype">CMenu &amp;&#160;</td>
          <td class="paramname"><em>menu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CSimpleArray&lt; CString &gt; &amp;&#160;</td>
          <td class="paramname"><em>profiles</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal method to add all available column profiles to the context menu. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">menu</td><td>The popup context menu </td></tr>
    <tr><td class="paramname">offset</td><td>Start offset to use when adding new menu items to the context menu </td></tr>
    <tr><td class="paramname">profiles</td><td>List of column profiles that one can change between </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of menu items added to the context menu </dd></dl>

</div>
</div>
<a class="anchor" id="a1b4722e43184fb26a83870be364bb466"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::IsCellCallback </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if the current cell is using callback to retrieve its text value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns true if the cell is using call back to retrieve its text value </dd></dl>

</div>
</div>
<a class="anchor" id="a6318b3e79b0be4091411b752a329cc6e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::IsCellEditorOpen </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if the cell value editor is open for a cell. </p>
<dl class="section return"><dt>Returns</dt><dd>Is currently editing a cell value (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a6903fae110bdfa193b9666bf14a76a2b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::IsColumnAlwaysHidden </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checks if a column is fixed to be always hidden. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is the column always visible (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a4f0d1cfed1833f6c28b504668d280752"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::IsColumnAlwaysVisible </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checks if a column is fixed to be always visible. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is the column always visible (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a45778b09577d376073a883d243502034"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::IsColumnResizable </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checks if a column is allowed to be resized. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Can the column be resized or not (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a09811da39862290d7c0dc4a2a955c019"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::IsColumnVisible </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the column visible state from the column trait. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is the column visible or not (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a0b543152b1c270c8f267d718d841ba6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::IsRowSelected </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if the LVIS_SELECTED state flag set for the specified row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the row is selected </dd></dl>

</div>
</div>
<a class="anchor" id="a1a4411aa8f7a81429307ece914c6fc1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::LoadColumnState </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nConfigCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nOwnerCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;&#160;</td>
          <td class="paramname"><em>config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Loads the column state of a single column. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nConfigCol</td><td>The column index in the persisting interface </td></tr>
    <tr><td class="paramname">nOwnerCol</td><td>The column index in the owner list control </td></tr>
    <tr><td class="paramname">config</td><td>The interface for persisting the configuration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a254a651b5cf36ad52260e2561924aa08"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::LoadState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Loads and applies the column configuration for the list control. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>The interface for persisting the configuration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af9b4b8c7168a23fe672f7382f5452265"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::MoveFocusCell </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bMoveRight</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Shifts the cell focus left or right in the same row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bMoveRight</td><td>Specifies whether the cell focus should be left or right </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6a4dbab19210ae5059da11ff8a0606d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::MoveSelectedRows </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nDropRow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts the selected rows before the specified row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nDropRow</td><td>Insert the selected rows before this row </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Was rows rearranged ? (true / false) </dd></dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#ab8fd8c8ec728a56b47bf65b129e4e8b9">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="a587752a4addb6e81c848583ae8c1e3a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnBeginDrag </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVN_BEGINDRAG message handler called when performing left-click drag. </p>
<p>Used to perform drag drop from the list control. Override this method to disable drag drop of rows.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMLISTVIEW structure specifying the column </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="aa5ce088293b0668316711d6b787de176"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnBeginLabelEdit </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVN_BEGINLABELEDIT message handler called when start editing a cell. </p>
<p>Blocks cell edit events from the parent CListCtrl for the label column.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an LV_DISPINFO structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Set to TRUE prevents the user from editing the label, else FALSE </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a42c8948ec4d7a60699e3420151665faa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnChar </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nChar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nRepCnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nFlags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_CHAR message handler for performing keyboard search with subitems. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nChar</td><td>Specifies the virtual key code of the given key. </td></tr>
    <tr><td class="paramname">nRepCnt</td><td>Repeat count (the number of times the keystroke is repeated as a result of the user holding down the key). </td></tr>
    <tr><td class="paramname">nFlags</td><td>Specifies the scan code, key-transition code, previous key state, and context code </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aaa3b0b1c223355c32e38d4d9e99042be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::OnClickEditStart </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>pt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bDblClick</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to control whether cell edit should be started when clicked with the mouse. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">pt</td><td>The position clicked, in client coordinates. </td></tr>
    <tr><td class="paramname">bDblClick</td><td>Whether the position was double clicked </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>How should the cell editor be started (0 = No editor, 1 = Start Editor, 2 = Start Editor and block click-event) </dd></dl>

</div>
</div>
<a class="anchor" id="a3fbec30aff7871244e25d0601a2b25e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnContextMenu </td>
          <td>(</td>
          <td class="paramtype">CWnd *&#160;</td>
          <td class="paramname"><em>pWnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_CONTEXTMENU message handler to show popup menu when mouse right click is used (or SHIFT+F10 on the keyboard) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pWnd</td><td>Handle to the window in which the user right clicked the mouse </td></tr>
    <tr><td class="paramname">point</td><td>Position of the cursor, in screen coordinates, at the time of the mouse click. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a9acee842fdd067ef4ba737a848e3813d">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="a46cdc55e7b0875c0650663d0718f3d30"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnContextMenuCell </td>
          <td>(</td>
          <td class="paramtype">CWnd *&#160;</td>
          <td class="paramname"><em>pWnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the context menu when activating context menu for a single cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pWnd</td><td>Handle to the window in which the user right clicked the mouse </td></tr>
    <tr><td class="paramname">point</td><td>Position of the cursor, in screen coordinates, at the time of the mouse click. </td></tr>
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3531144d2f29c51989154b7a348b73b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnContextMenuGrid </td>
          <td>(</td>
          <td class="paramtype">CWnd *&#160;</td>
          <td class="paramname"><em>pWnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the context menu when activating context menu in client area with no rows. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pWnd</td><td>Handle to the window in which the user right clicked the mouse </td></tr>
    <tr><td class="paramname">point</td><td>Position of the cursor, in screen coordinates, at the time of the mouse click. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a0c4b9123cd41d2e62e7058e9c3ebd06d">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="a947a93af637466d27f145734efb1f0a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnContextMenuHeader </td>
          <td>(</td>
          <td class="paramtype">CWnd *&#160;</td>
          <td class="paramname"><em>pWnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the context menu when activating context menu for the column headers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pWnd</td><td>Handle to the window in which the user right clicked the mouse </td></tr>
    <tr><td class="paramname">point</td><td>Position of the cursor, in screen coordinates, at the time of the mouse click. </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a3a432b3d5cbea6fad6fec29456d991b9">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="aeef610f46320c2c99c69266dd126c499"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnContextMenuKeyboard </td>
          <td>(</td>
          <td class="paramtype">CWnd *&#160;</td>
          <td class="paramname"><em>pWnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the context menu when using the keyboard shortcut SHIFT+F10. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pWnd</td><td>Handle to the window in which the user right clicked the mouse </td></tr>
    <tr><td class="paramname">point</td><td>Position of the cursor, in screen coordinates, at the time of the mouse click. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad864df4e9a0040291651fede870127f0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">LRESULT CGridListCtrlEx::OnCopy </td>
          <td>(</td>
          <td class="paramtype">WPARAM&#160;</td>
          <td class="paramname"><em>wParam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPARAM&#160;</td>
          <td class="paramname"><em>lParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_COPY message handler. </p>
<p>Not sent by default, but just incase</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wParam</td><td>Not used </td></tr>
    <tr><td class="paramname">lParam</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Not used </dd></dl>

</div>
</div>
<a class="anchor" id="a3cd650f1d47ca997ef5070145a9e52ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::OnCreate </td>
          <td>(</td>
          <td class="paramtype">LPCREATESTRUCT&#160;</td>
          <td class="paramname"><em>lpCreateStruct</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_CREATE message handler. </p>
<p>Called when inside a CView.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lpCreateStruct</td><td>Pointer to a CREATESTRUCT structure that contains information about the list control object being created. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2f52131c002ac1840375ee53e1392487"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnCustomDraw </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs custom drawing of the CListCtrl. </p>
<ul>
<li>Ensures the <a class="el" href="class_c_grid_column_trait.html" title="CGridColumnTrait specifies the methods needed for custom cell handling. ">CGridColumnTrait</a>'s can do their thing</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to NMLVCUSTOMDRAW structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Modification to the drawing stage (CDRF_NEWFONT, etc.) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a556eb2a94ab33da40ea4b45aeb71c710"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnCustomDrawCell </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMLVCUSTOMDRAW *&#160;</td>
          <td class="paramname"><em>pLVCD</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs custom drawing of the CListCtrl using <a class="el" href="class_c_grid_column_trait.html" title="CGridColumnTrait specifies the methods needed for custom cell handling. ">CGridColumnTrait</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">pLVCD</td><td>Pointer to NMLVCUSTOMDRAW structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Modification to the drawing stage (CDRF_NEWFONT, etc.) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a306f8b6ca7ec04634fb1689509535070"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnCustomDrawRow </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMLVCUSTOMDRAW *&#160;</td>
          <td class="paramname"><em>pLVCD</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs custom drawing of the CListCtrl using <a class="el" href="class_c_grid_row_trait.html" title="CGridRowTrait specifies an interface for handling custom drawing at row-level. ">CGridRowTrait</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">pLVCD</td><td>Pointer to NMLVCUSTOMDRAW structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Modification to the drawing stage (CDRF_NEWFONT, etc.) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a15017b6ca5b3faa6fbf8c05fea4aad2e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">LRESULT CGridListCtrlEx::OnDeleteColumn </td>
          <td>(</td>
          <td class="paramtype">WPARAM&#160;</td>
          <td class="paramname"><em>wParam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPARAM&#160;</td>
          <td class="paramname"><em>lParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVM_DELETECOLUMN message handler to ensure the column trait container is updated when columns are removed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wParam</td><td>The index of the column just deleted </td></tr>
    <tr><td class="paramname">lParam</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whether the column was succesfully deleted </dd></dl>

</div>
</div>
<a class="anchor" id="a5fe92b7585e2531089e7047d97d21517"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellColor </td>
          <td>(</td>
          <td class="paramtype">NMLVCUSTOMDRAW *&#160;</td>
          <td class="paramname"><em>pLVCD</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the colors used for drawing a cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pLVCD</td><td>Pointer to NMLVCUSTOMDRAW structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Color is overrided </dd></dl>

</div>
</div>
<a class="anchor" id="aabde4aaff8912c9b05378c4991aca7ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellColor </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">COLORREF &amp;&#160;</td>
          <td class="paramname"><em>textColor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">COLORREF &amp;&#160;</td>
          <td class="paramname"><em>backColor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the colors used for drawing a cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">textColor</td><td>The text color used when drawing the cell </td></tr>
    <tr><td class="paramname">backColor</td><td>The background color when drawing the cell </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Color is overrided </dd></dl>

</div>
</div>
<a class="anchor" id="a5bb73597c634a8ca55a742365c5dc1e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellFont </td>
          <td>(</td>
          <td class="paramtype">NMLVCUSTOMDRAW *&#160;</td>
          <td class="paramname"><em>pLVCD</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LOGFONT &amp;&#160;</td>
          <td class="paramname"><em>font</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the font used for drawing a cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pLVCD</td><td>Pointer to NMLVCUSTOMDRAW structure </td></tr>
    <tr><td class="paramname">font</td><td>The font description to use for drawing the cell </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Font is overrided </dd></dl>

</div>
</div>
<a class="anchor" id="a67384955cd0760ecbc259db45da29463"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellFont </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LOGFONT &amp;&#160;</td>
          <td class="paramname"><em>font</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the font used for drawing a cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">font</td><td>The font description to use for drawing the cell </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Font is overrided </dd></dl>

</div>
</div>
<a class="anchor" id="a027823c5282b5a67f3521116e52bba8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellImage </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>nImageId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to provide icon index when drawing cells Only called when using I_IMAGECALLBACK with <a class="el" href="class_c_grid_list_ctrl_ex.html#a2bef9cfbde01f35920492848f52b1ef7" title="Sets the icon of the specified cell. ">SetCellImage()</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">nImageId</td><td>The icon index in the list control image list </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if there is an icon image to display </dd></dl>

</div>
</div>
<a class="anchor" id="a18a57316e490a8a32be18f6e5a6e42a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnDisplayCellItem </td>
          <td>(</td>
          <td class="paramtype">LVITEM &amp;&#160;</td>
          <td class="paramname"><em>lvi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to provide text string and image index when drawing cells. </p>
<ul>
<li>Called when using LPSTR_TEXTCALLBACK with CListCtrl::SetItemText()</li>
<li>Called when using I_IMAGECALLBACK with <a class="el" href="class_c_grid_list_ctrl_ex.html#a2bef9cfbde01f35920492848f52b1ef7" title="Sets the icon of the specified cell. ">SetCellImage()</a></li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lvi</td><td>The item that requires cell text and image index </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8c3c73cda2eb9543c9249d7c92c10104"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellText </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strText</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to provide text string when drawing cells Only called when using LPSTR_TEXTCALLBACK with CListCtrl::SetItemText() </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">strText</td><td>Text string to display in the cell </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if there is text string to display </dd></dl>

</div>
</div>
<a class="anchor" id="a5ae0f01158ff0cb9880dbdc160e6605d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellTooltip </td>
          <td>(</td>
          <td class="paramtype">const CPoint &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method if wanting to specify whether a tooltip is available. </p>
<p>Called constantly while the mouse is moving over the list-control.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">point</td><td>Current mouse position relative to the upper-left corner of the window </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Start tooltip timer for displaying tooltip (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a665fa20b96c262ea092fec7b8c12993f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayCellTooltip </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to display a custom tooltip text when holding the mouse over a cell. </p>
<p>Called after the tooltip timer has fired.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">strResult</td><td>The text value to display in the tooltip </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is tooltip available for current cell (true / false) </dd></dl>

</div>
</div>
<a class="anchor" id="a61188bc28c09714dc1f032bf31497c36"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnDisplayDragOverRow </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to react to mouse over event during drag drop. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acce1c73d347cd9726e5df4e0abf6474b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayRowColor </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">COLORREF &amp;&#160;</td>
          <td class="paramname"><em>textColor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">COLORREF &amp;&#160;</td>
          <td class="paramname"><em>backColor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the color used for drawing a row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">textColor</td><td>The text color used when drawing the row </td></tr>
    <tr><td class="paramname">backColor</td><td>The background color when drawing the row </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Color is overrided </dd></dl>

</div>
</div>
<a class="anchor" id="aabebd6790025d9915a79966d1fa2463a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayRowFont </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LOGFONT &amp;&#160;</td>
          <td class="paramname"><em>font</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to change the font used for drawing a row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">font</td><td>The font description to use for drawing the row </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Font is overrided </dd></dl>

</div>
</div>
<a class="anchor" id="a604d3de5047b6a9255635778ea5445c2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayToClipboard </td>
          <td>(</td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strResult</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>includeHeader</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to control what is placed in the global clipboard. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">strResult</td><td>Text to place in the clipboard </td></tr>
    <tr><td class="paramname">includeHeader</td><td>Include column headers when copying to clipboard </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Text is available for the clipboard </dd></dl>

</div>
</div>
<a class="anchor" id="a1e229f9b9cf4235ddaf94bf0432bedf5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayToClipboard </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to control what to place in the clipboard for a single row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">strResult</td><td>Text to place in the clipboard </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Text is available for the clipboard </dd></dl>

</div>
</div>
<a class="anchor" id="a85b10f6e13a1ea358a23b8ec463f0593"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayToClipboard </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to control what to place in the clipboard for a single cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">strResult</td><td>Text to place in the clipboard </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Text is available for the clipboard </dd></dl>

</div>
</div>
<a class="anchor" id="a0f0ebe0a183be430a7f357df947747b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnDisplayToDragDrop </td>
          <td>(</td>
          <td class="paramtype">CString &amp;&#160;</td>
          <td class="paramname"><em>strResult</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to control what data is selected for drag drop operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">strResult</td><td>Text to place in the drag drop cache </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Text is available for the drag drop operation </dd></dl>

</div>
</div>
<a class="anchor" id="a8b2b21b089d2cd3d62f95ed97f30f052"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">DROPEFFECT CGridListCtrlEx::OnDragEnter </td>
          <td>(</td>
          <td class="paramtype">COleDataObject *&#160;</td>
          <td class="paramname"><em>pDataObject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DWORD&#160;</td>
          <td class="paramname"><em>dwKeyState</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the framework when the cursor is first dragged into the window. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pDataObject</td><td>Points to the data object containing the data that can be dropped </td></tr>
    <tr><td class="paramname">dwKeyState</td><td>Contains the state of the modifier keys (MK_SHIFT, MK_CONTROL, etc.) </td></tr>
    <tr><td class="paramname">point</td><td>Contains the current location of the cursor in client coordinates. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The effect that would result if a drop were attempted at the location specified by point. </dd></dl>

</div>
</div>
<a class="anchor" id="afbc8fc322f44b5ffb9561583f7920cb0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">SCODE CGridListCtrlEx::OnDragGiveFeedback </td>
          <td>(</td>
          <td class="paramtype">DROPEFFECT&#160;</td>
          <td class="paramname"><em>dropEffect</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the framework during drag-drop operation, and allows one to give visual feedback to the end user during a drag-and-drop operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dropEffect</td><td>The DROPEFFECT value returned by the most recent call to IDropTarget::DragEnter, IDropTarget::DragOver, or IDropTarget::DragLeave. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>S_OK if having performed ::SetCursor() </dd></dl>

</div>
</div>
<a class="anchor" id="a32c02282e6285f5855965d56780c7fad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">DROPEFFECT CGridListCtrlEx::OnDragOver </td>
          <td>(</td>
          <td class="paramtype">COleDataObject *&#160;</td>
          <td class="paramname"><em>pDataObject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DWORD&#160;</td>
          <td class="paramname"><em>dwKeyState</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the framework when the cursor is dragged over the window. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pDataObject</td><td>Points to the data object containing the data that can be dropped </td></tr>
    <tr><td class="paramname">dwKeyState</td><td>Contains the state of the modifier keys (MK_SHIFT, MK_CONTROL, etc.) </td></tr>
    <tr><td class="paramname">point</td><td>Contains the current location of the cursor in client coordinates. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The effect that would result if a drop were attempted at the location specified by point. </dd></dl>

</div>
</div>
<a class="anchor" id="a7155f4841e7fd2ace78f04b1d649fa1e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnDrop </td>
          <td>(</td>
          <td class="paramtype">COleDataObject *&#160;</td>
          <td class="paramname"><em>pDataObject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DROPEFFECT&#160;</td>
          <td class="paramname"><em>dropEffect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the framework when a drop operation is to occur. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pDataObject</td><td>Points to the data object containing the data that can be dropped </td></tr>
    <tr><td class="paramname">dropEffect</td><td>The effect that the user chose for the drop operation (DROPEFFECT_COPY, DROPEFFECT_MOVE, DROPEFFECT_LINK) </td></tr>
    <tr><td class="paramname">point</td><td>Contains the current location of the cursor in client coordinates. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if the drop is successful; otherwise 0 </dd></dl>

</div>
</div>
<a class="anchor" id="abeba811ba43eb786a236cdc78406ba4b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnDropExternal </td>
          <td>(</td>
          <td class="paramtype">COleDataObject *&#160;</td>
          <td class="paramname"><em>pDataObject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DROPEFFECT&#160;</td>
          <td class="paramname"><em>dropEffect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the framework when a drop operation is to occur, where the origin is an external source. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pDataObject</td><td>Points to the data object containing the data that can be dropped </td></tr>
    <tr><td class="paramname">dropEffect</td><td>The effect that the user chose for the drop operation (DROPEFFECT_COPY, DROPEFFECT_MOVE, DROPEFFECT_LINK) </td></tr>
    <tr><td class="paramname">point</td><td>Contains the current location of the cursor in client coordinates. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if the drop is successful; otherwise 0 </dd></dl>

</div>
</div>
<a class="anchor" id="adeebd2fcd929052df87c1cc539595855"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnDropSelf </td>
          <td>(</td>
          <td class="paramtype">COleDataObject *&#160;</td>
          <td class="paramname"><em>pDataObject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DROPEFFECT&#160;</td>
          <td class="paramname"><em>dropEffect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the framework when a drop operation is to occur, where the origin is the <a class="el" href="class_c_grid_list_ctrl_ex.html" title="CGridListCtrlEx extends the CListCtrl with several features. ">CGridListCtrlEx</a> itself. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pDataObject</td><td>Points to the data object containing the data that can be dropped </td></tr>
    <tr><td class="paramname">dropEffect</td><td>The effect that the user chose for the drop operation (DROPEFFECT_COPY, DROPEFFECT_MOVE, DROPEFFECT_LINK) </td></tr>
    <tr><td class="paramname">point</td><td>Contains the current location of the cursor in client coordinates. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if the drop is successful; otherwise 0 </dd></dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a1847f1c70228f294e682b6e267effa65">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="a4b5da30fe93b94d57c0f26adb481ab48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CWnd * CGridListCtrlEx::OnEditBegin </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to control whether cell editing is allowed for a cell. </p>
<p>Called when start editing a cell value</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the cell editor (If NULL then block cell editing) </dd></dl>

</div>
</div>
<a class="anchor" id="aff8ad10fec3f11217421abc4f9f46c99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CWnd * CGridListCtrlEx::OnEditBegin </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>pt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to control whether cell editing is allowed for a cell. </p>
<p>Called when start editing a cell value</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">pt</td><td>The position clicked, in client coordinates. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the cell editor (If NULL then block cell editing) </dd></dl>

</div>
</div>
<a class="anchor" id="a72cb48f9b7ea05751e49f3f5bb7e70f7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnEditComplete </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CWnd *&#160;</td>
          <td class="paramname"><em>pEditor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LV_DISPINFO *&#160;</td>
          <td class="paramname"><em>pLVDI</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to validate the new value after a cell edit. </p>
<p>Called when completed editing of a cell value</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">pEditor</td><td>Pointer to the cell editor created by the column trait </td></tr>
    <tr><td class="paramname">pLVDI</td><td>Specifies the properties of the new cell value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is the new cell value accepted </dd></dl>

</div>
</div>
<a class="anchor" id="a5b5c171fbec8c4870f8c2bf6363a9820"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnEndLabelEdit </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVN_ENDLABELEDIT message handler called when completed a cell edit. </p>
<p>Makes it possible to validate input, and reject invalid values.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an LV_DISPINFO structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Set to TRUE accepts the cell edit, else FALSE </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a74d0ac13f79b949894a1a9a1c0d1594c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnGetDispInfo </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVN_GETDISPINFO message handler, which is called when details are needed for an item that specifies callback. </p>
<ul>
<li>Cell-Text, when item is using LPSTR_TEXTCALLBACK</li>
<li>Cell-Image, when item is using I_IMAGECALLBACK</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMLVDISPINFO structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a5e3e7c1a0dae56ca4775b751adb72a7c">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="a8687667222a1ed587ccc9598732be1fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnHeaderBeginDrag </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>HDN_BEGINDRAG message handler called when about to move a column to a new position. </p>
<p>Used to ensure that any cell value editing is completed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMHEADER structure with information about the column just resized </td></tr>
    <tr><td class="paramname">pResult</td><td>Set to FALSE to allow header control to automatically manage column order. Set to TRUE if manually wanting to manage column order. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a19bb8f4e776d7f582476268e29e6e303"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnHeaderBeginResize </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>HDN_BEGINTRACK message handler called when resizing columns. </p>
<p>Used to prevent resizing of hidden columns.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMHEADER structure with information about the column being resized </td></tr>
    <tr><td class="paramname">pResult</td><td>Set to FALSE to allow tracking of the divider, or TRUE to prevent tracking </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="afea491c69be12d7d302d0416b345fae4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnHeaderClick </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVN_COLUMNCLICK message handler called when clicking a column header. </p>
<p>Used to update the row sorting according to the clicked column.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMLISTVIEW structure specifying the column </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a6ce3be8a671bae0274620efc2cdc2efd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnHeaderDividerDblClick </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>HDN_DIVIDERDBLCLICK message handler called when double clicking the divider in the columns of the CHeaderCtrl. </p>
<p>Used to prevent resizing of hidden columns.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMHEADER structure with information about the divider was double-clicked </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="aaad70ad26d6031e96f92c5aefcf5da15"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnHeaderEndDrag </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>HDN_ENDDRAG message handler called after a column have been dragged, but before the column order has been updated. </p>
<p>Used to ensure that visible columns are not dragged in between invisible columns.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMHEADER structure with information about the column just resized </td></tr>
    <tr><td class="paramname">pResult</td><td>If the owner is performing external (manual) drag-and-drop management, it must be set to FALSE </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a5f13dd6c77cf9b59d0aa991ae04c8bce">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="a1fbb282bea677ce9d3659da04d3aea34"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnHeaderEndResize </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>HDN_ENDTRACK message handler called after column resize. </p>
<p>Used to persist the new column state.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMHEADER structure with information about the column just resized </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a5560cbe72f220dc083f69b557fdb31e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnHeaderItemChanging </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>HDN_ITEMCHANGING message handler called during column resize. </p>
<p>Used to enforce column max and min width.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an NMHEADER structure with information about the column just resized </td></tr>
    <tr><td class="paramname">pResult</td><td>Returns FALSE to allow the changes, or TRUE to prevent them. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a5906df0b41e263ab9dbbc1642b7b5785"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnHScroll </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nSBCode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CScrollBar *&#160;</td>
          <td class="paramname"><em>pScrollBar</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_HSCROLL message handler called when scrolling in the list control. </p>
<p>Used to ensure that any cell value editing is completed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nSBCode</td><td>Specifies a scroll-bar code that indicates the user's scrolling request </td></tr>
    <tr><td class="paramname">nPos</td><td>Specifies the scroll-box position if the scroll-bar code is SB_THUMBPOSITION or SB_THUMBTRACK (Can be negative) </td></tr>
    <tr><td class="paramname">pScrollBar</td><td>If the scroll message came from a scroll-bar control, contains a pointer to the control </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1aaf8ce8d24d963aca0f93017dc7c896"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">LRESULT CGridListCtrlEx::OnInsertColumn </td>
          <td>(</td>
          <td class="paramtype">WPARAM&#160;</td>
          <td class="paramname"><em>wParam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPARAM&#160;</td>
          <td class="paramname"><em>lParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVM_INSERTCOLUMN message handler to ensure the column trait container is updated when columns are inserted. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wParam</td><td>The index of the column just inserted </td></tr>
    <tr><td class="paramname">lParam</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whether the column was succesfully inserted </dd></dl>

</div>
</div>
<a class="anchor" id="a77bbe98866808f84c22e7754c07674e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnItemChanged </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVN_ITEMCHANGED message handler called when a row changes state When using LVS_OWNERDATA style, this only gets called for single item state change. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to LPNMLISTVIEW structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a79a2b2a683e02ddec2153c184f11cff8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnItemClick </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>NM_CLICK message handler called when left-clicking in a cell. </p>
<p>Just to show how to catch the single click event.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to NMITEMACTIVATE structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="ad11381552ce98d2d3059c99449a47176"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnItemDblClick </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>NM_DBLCLK message handler called when double-clicking in a cell. </p>
<p>Just to show how to catch the double click event.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to NMITEMACTIVATE structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a99ec9f3c4879d6c609e2a2bbbe6b2016"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::OnKeyboardSearch </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nStartRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CString &amp;&#160;</td>
          <td class="paramname"><em>strSearch</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to optimize the keyboard search for LVS_OWNERDATA (virtual list) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>Column where the search is performed </td></tr>
    <tr><td class="paramname">nStartRow</td><td>Row index at which the search will start </td></tr>
    <tr><td class="paramname">strSearch</td><td>String to search for </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Row index matching the specified search string </dd></dl>

</div>
</div>
<a class="anchor" id="abc8f1f26036bf8f4e428bbd85949a3ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnKeyDown </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nChar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nRepCnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nFlags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_KEYDOWN message handler for performing keyboard navigation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nChar</td><td>Specifies the virtual key code of the given key. </td></tr>
    <tr><td class="paramname">nRepCnt</td><td>Repeat count (the number of times the keystroke is repeated as a result of the user holding down the key). </td></tr>
    <tr><td class="paramname">nFlags</td><td>Specifies the scan code, key-transition code, previous key state, and context code </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae14437c7098727af92895262e1260b06"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnKillFocus </td>
          <td>(</td>
          <td class="paramtype">CWnd *&#160;</td>
          <td class="paramname"><em>pNewWnd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_KILLFOCUS message handler called when list control is loosing focus to other control. </p>
<p>Used to persist the new column state.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNewWnd</td><td>Pointer to the window that receives the input focus (may be NULL or may be temporary). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8dd0daf8213ceeb95bfd8c785a59dc1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnLButtonDblClk </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The WM_LBUTTONDBLCLK message is posted when the user double-clicks the left mouse button while the cursor is in the client area of a window Used to flip the checkbox image even when double-clicking. </p>
<p>If wanting to handle the double-click event, then one should use NM_DBLCLK</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nFlags</td><td>Indicates whether various virtual keys are down (MK_CONTROL, MK_SHIFT, etc.) </td></tr>
    <tr><td class="paramname">point</td><td>Mouse cursor position relative to the upper-left corner of the client area. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a7514128960602fccbad21a93bf5fa8a8">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="a132f01ec62e52fc1859be2d6bc1ea469"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnLButtonDown </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_LBUTTONDOWN message handler called when the user presses the left mouse button while the cursor is in the client area of a window. </p>
<p>Used to activate the cell editor of the cell clicked using the mouse.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nFlags</td><td>Indicates whether various virtual keys are down (MK_CONTROL, MK_SHIFT, etc.) </td></tr>
    <tr><td class="paramname">point</td><td>Mouse cursor position relative to the upper-left corner of the client area. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3e164b1264b6d69f63a906af2af48c48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::OnOwnerDataDisplayCheckbox </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to display checkbox state for LVS_OWNERDATA (virtual list). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The row index being displayed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is row checked ? </dd></dl>

</div>
</div>
<a class="anchor" id="ab0c8e56a41390bc9d20b18de6058d300"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnOwnerDataFindItem </td>
          <td>(</td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVN_ODFINDITEM message handler for performing keyboard search when LVS_OWNERDATA (virtual list) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pNMHDR</td><td>Pointer to NMLVFINDITEM structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Set to the row-index matching the keyboard search (-1 for no match) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="a1e7ce666a77ab7670feb60398099244b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnOwnerDataToggleCheckBox </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bChecked</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to react to check box being toggled for LVS_OWNERDATA (virtual list). </p>
<p>Remember to force a redraw to ensure the new checkbox state is displayed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The row index where the checkbox should be toggled </td></tr>
    <tr><td class="paramname">bChecked</td><td>Whether the checkbox has been checked on unchecked </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7cc0de3814b2a080657e0f65ea3a5a42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnPaint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_PAINT message handler called when needing to redraw list control. </p>
<p>Used to display text when the list control is empty </p>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#a2b555dd50310cdc63b8514f120fbb952">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="aff337d340df97fc6e7ae503a0f41c1b5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnRButtonDown </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_RBUTTONDOWN message handler called when the user presses the right mouse button while the cursor is in the client area of a window. </p>
<p>Used to change focus to the cell clicked using the mouse.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nFlags</td><td>Indicates whether various virtual keys are down (MK_CONTROL, MK_SHIFT, etc.) </td></tr>
    <tr><td class="paramname">point</td><td>Mouse cursor position relative to the upper-left corner of the client area. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a775ae32ee0f42784b73aeba7ff0e3087"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">LRESULT CGridListCtrlEx::OnSetColumnWidth </td>
          <td>(</td>
          <td class="paramtype">WPARAM&#160;</td>
          <td class="paramname"><em>wParam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPARAM&#160;</td>
          <td class="paramname"><em>lParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>LVM_SETCOLUMNWIDTH message handler called when wanting to resize a column. </p>
<p>Used to prevent resize of hidden columns.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wParam</td><td>The index of the column </td></tr>
    <tr><td class="paramname">lParam</td><td>New width of the column (High word) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero indicates success. Zero indicates otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a2c44ca34390cc89253bddd1b53d8b012"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">LRESULT CGridListCtrlEx::OnSetFont </td>
          <td>(</td>
          <td class="paramtype">WPARAM&#160;</td>
          <td class="paramname"><em>wParam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPARAM&#160;</td>
          <td class="paramname"><em>lParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_SETFONT message handler. </p>
<p>For re-applying margin if font changes</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wParam</td><td>Handle to the font (HFONT), where NULL means default font </td></tr>
    <tr><td class="paramname">lParam</td><td>The low-order word of lParam specifies whether to redraw </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Not used </dd></dl>

</div>
</div>
<a class="anchor" id="aef1452aa40a052c473aed75de0a8a1a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CGridListCtrlEx::OnToolHitTest </td>
          <td>(</td>
          <td class="paramtype">CPoint&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TOOLINFO *&#160;</td>
          <td class="paramname"><em>pTI</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the MFC framework during mouse over to detemine whether a point is in the bounding rectangle of the specified tool. </p>
<p>It requests a TTN_NEEDTEXT notification when the tooltip text is needed instead of building and allocating the tooltip text at mouse over.</p>
<p>If needing to display more than 80 characters, then the easy solution is to override this method and allocate and build the tooltip right away.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> MyListCtrl::OnToolHitTest(CPoint point, TOOLINFO * pTI)<span class="keyword"> const</span></div>
<div class="line"><span class="keyword"></span>{</div>
<div class="line">        <span class="keywordtype">int</span> rc = <a class="code" href="class_c_grid_list_ctrl_ex.html#aef1452aa40a052c473aed75de0a8a1a4">CGridListCtrlEx::OnToolHitTest</a>(point, pTI);</div>
<div class="line">        <span class="keywordflow">if</span> (rc==-1)</div>
<div class="line">                <span class="keywordflow">return</span> -1;</div>
<div class="line">        </div>
<div class="line">        pTI-&gt;lpszText = <span class="keyword">new</span> TCHAR[256]; <span class="comment">// Will automatically be deallocated by MFC</span></div>
<div class="line">        <span class="keywordflow">return</span> rc;</div>
<div class="line">}</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">point</td><td>Current mouse position relative to the upper-left corner of the window </td></tr>
    <tr><td class="paramname">pTI</td><td>A pointer to a TOOLINFO structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Window control ID of the tooltip control (-1 if no tooltip control was found) </dd></dl>

</div>
</div>
<a class="anchor" id="a3677463649729bedd0f7884ce9541360"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::OnToolNeedText </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NMHDR *&#160;</td>
          <td class="paramname"><em>pNMHDR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LRESULT *&#160;</td>
          <td class="paramname"><em>pResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>TTN_NEEDTEXT message handler called when the tooltip timer fires. </p>
<p>It uses the default tooltip buffer, that limits the tooltip to 80 characters.</p>
<p>If needing to display more than 80 characters, then the easy solution is to override <a class="el" href="class_c_grid_list_ctrl_ex.html#aef1452aa40a052c473aed75de0a8a1a4" title="Called by the MFC framework during mouse over to detemine whether a point is in the bounding rectangl...">CGridListCtrlEx::OnToolHitTest()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">id</td><td>Not used </td></tr>
    <tr><td class="paramname">pNMHDR</td><td>Pointer to an TOOLTIPTEXT structure </td></tr>
    <tr><td class="paramname">pResult</td><td>Not used </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Is final message handler (Return FALSE to continue routing the message) </dd></dl>

</div>
</div>
<a class="anchor" id="ad330936c2ea0ae10ef49fb2133896f39"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OnVScroll </td>
          <td>(</td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nSBCode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&#160;</td>
          <td class="paramname"><em>nPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CScrollBar *&#160;</td>
          <td class="paramname"><em>pScrollBar</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>WM_VSCROLL message handler called when scrolling in the list control. </p>
<p>Used to ensure that any cell value editing is completed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nSBCode</td><td>Specifies a scroll-bar code that indicates the user's scrolling request </td></tr>
    <tr><td class="paramname">nPos</td><td>Specifies the scroll-box position if the scroll-bar code is SB_THUMBPOSITION or SB_THUMBTRACK (Can be negative) </td></tr>
    <tr><td class="paramname">pScrollBar</td><td>If the scroll message came from a scroll-bar control, contains a pointer to the control </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afebdc7f5532bfef1dac1bf0e64214e7e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::OpenColumnEditor </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Open the column configuration editor for the column (If one available) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9ad2382c453ec7d11effac3af2c584ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::PreSubclassWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Normally used for subclassing controls, but here used to configure initial style when list control is created. </p>

</div>
</div>
<a class="anchor" id="ae3281e846c31faae6d3c83c87cf85041"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::RegisterDropTarget </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers the CListCtrl as a valid OLE drag drop target. </p>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if successful; otherwise zero. </dd></dl>

</div>
</div>
<a class="anchor" id="a03c0b3ca0ed4c7af203fa3738ec5690f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SaveColumnState </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nConfigCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nOwnerCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;&#160;</td>
          <td class="paramname"><em>config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Saves the column state of a single column. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nConfigCol</td><td>The column index in the persisting interface </td></tr>
    <tr><td class="paramname">nOwnerCol</td><td>The column index in the owner list control </td></tr>
    <tr><td class="paramname">config</td><td>The interface for persisting the configuration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a12e01b07f1a7ec169bc14ac7073210ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SaveState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_view_config_section.html">CViewConfigSection</a> &amp;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Saves the column configuration of the list control. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>The interface for persisting the configuration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a95cdfc923e43020fd647a3878dbfebe4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::SelectRow </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bSelect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the LVIS_SELECTED state flag for the specified row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row. -1 means all rows </td></tr>
    <tr><td class="paramname">bSelect</td><td>Whether row should be selected or not </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if successful; otherwise zero. </dd></dl>

</div>
</div>
<a class="anchor" id="a2bef9cfbde01f35920492848f52b1ef7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::SetCellImage </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nImageId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the icon of the specified cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">nImageId</td><td>The icon index in the list control image list </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if successful; otherwise zero. </dd></dl>

</div>
</div>
<a class="anchor" id="a1535ba14060fc368b4f2ae3e93bf32fe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SetCellMargin </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>margin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Takes the current font and increases the font with the given margin multiplier. </p>
<p>Increases the row-height but keeps the cell font intact. Gives more room for the grid-cell editors and their border.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">margin</td><td>Multiplier for how much to increase the font size </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2216362cef0fe68b4ced43dbf58ea672"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::SetColumnWidthAuto </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bIncludeHeader</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Resizes the width of a column according the contents of the cells below. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">bIncludeHeader</td><td>Include the column header text the column width calculation </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if successful; otherwise zero. </dd></dl>

</div>
</div>
<a class="anchor" id="a3cd31914f795c812c8303a7a9a38ba6b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SetDefaultRowTrait </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_grid_row_trait.html">CGridRowTrait</a> *&#160;</td>
          <td class="paramname"><em>pRowTrait</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the default row trait used by default for drawing rows. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pRowTrait</td><td>Pointer to row trait </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac5f89906d28f762e561e685b778db669"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SetEmptyMarkupText </td>
          <td>(</td>
          <td class="paramtype">const CString &amp;&#160;</td>
          <td class="paramname"><em>strText</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update the markup text displayed when the list control is empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">strText</td><td>Text to display when list control is empty </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afcdd34c755fe8da1fea3b5b3efb06f8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SetFocusCell </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bRedraw</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Changes the focus cell. </p>
<p>Override this method and set m_FocusCell = -1 if wanting to disable subitem focus</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">bRedraw</td><td>Should the focus row be redrawn ? (true / false) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0a442eaa8d5a14b1a9744106e6dbf361"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SetFocusRow </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nRow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets LVIS_FOCUSED state flag for the specified row. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nRow</td><td>The index of the row </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aacca8a221b0208e92abde09d3f6812b3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SetSortArrow </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bAscending</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Puts a sort-icon in the column header of the specified column. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">bAscending</td><td>Should the arrow be up or down </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a611b6578c8dd9332bc6a65bd6b71fecb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SetupColumnConfig </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_view_config_section_profiles.html">CViewConfigSectionProfiles</a> *&#160;</td>
          <td class="paramname"><em>pColumnConfig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bConfigOwner</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the interface for handling state persistence for the list control. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pColumnConfig</td><td>The new column state interface handler </td></tr>
    <tr><td class="paramname">bConfigOwner</td><td>Destructor should free the column state object (true / false) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa73d51618d197bc0284813ac21ca6565"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">BOOL CGridListCtrlEx::ShowColumn </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bShow</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Changes the visible state of column. </p>
<p>Hides a column by resizing the column width to zero and moving it to the outer left in the column order. Shows a column by returning it to its original position.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">bShow</td><td>Specifies whether the column should be shown or hidden </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nonzero if successful; otherwise zero. </dd></dl>

</div>
</div>
<a class="anchor" id="a6b6c3198a95f54920fc9af1c4be79f2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CGridListCtrlEx::SortColumn </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bAscending</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Changes the row sorting in regard to the specified column. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nCol</td><td>The index of the column </td></tr>
    <tr><td class="paramname">bAscending</td><td>Perform sorting in ascending or descending order </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True / false depending on whether sort is possible </dd></dl>

<p>Reimplemented in <a class="el" href="class_c_grid_list_ctrl_groups.html#ac01976bf2502bc87e9376ed1963cdf39">CGridListCtrlGroups</a>.</p>

</div>
</div>
<a class="anchor" id="aef7514a4adfda5d3be9dcfe27db17dfd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CGridListCtrlEx::SwichColumnProfile </td>
          <td>(</td>
          <td class="paramtype">const CString &amp;&#160;</td>
          <td class="paramname"><em>strProfile</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Switch to different column configurations profile. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">strProfile</td><td>List of available column profiles </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>

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)

Share

About the Author

Rolf Kristensen
Software Developer
Denmark Denmark
No Biography provided

You may also be interested in...

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web01 | 2.8.190214.1 | Last Updated 16 Mar 2015
Article Copyright 2008 by Rolf Kristensen
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid