`
yingyingol
  • 浏览: 745958 次
文章分类
社区版块
存档分类
最新评论

List Control控件技巧总汇(1)

 
阅读更多
以下未经说明,listctrl<wbr>默认<span style="line-height:1.3em">view </span><wbr>风格为<span style="line-height:1.3em">report</span><wbr><br><span style="line-height:1.3em">-------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">1. CListCtrl </span><wbr>风格 <br><span style="line-height:1.3em"> LVS_ICON: </span><wbr>为每个<span style="line-height:1.3em">item</span><wbr>显示大图标 <br><span style="line-height:1.3em"> LVS_SMALLICON: </span><wbr>为每个<span style="line-height:1.3em">item</span><wbr>显示小图标 <br><span style="line-height:1.3em"> LVS_LIST: </span><wbr>显示一列带有小图标的<span style="line-height:1.3em">item</span><wbr><br><span style="line-height:1.3em"> LVS_REPORT: </span><wbr>显示<span style="line-height:1.3em">item</span><wbr>详细资料 <br> 直观的理解:<span style="line-height:1.3em">windows</span><wbr>资源管理器,<span style="line-height:1.3em">"</span><wbr>查看<span style="line-height:1.3em">"</span><wbr>标签下的<span style="line-height:1.3em">"</span><wbr>大图标,小图标,列表,详细资料 <br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">2. </span><wbr>设置<span style="line-height:1.3em">listctrl </span><wbr>风格及扩展风格 <br><span style="line-height:1.3em"> LONG lStyle;</span><wbr><br><span style="line-height:1.3em"> lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//</span><wbr>获取当前窗口<span style="line-height:1.3em">style</span><wbr><br><span style="line-height:1.3em"> lStyle &amp;= ~LVS_TYPEMASK; //</span><wbr>清除显示方式位 <br><span style="line-height:1.3em"> lStyle |= LVS_REPORT; //</span><wbr>设置<span style="line-height:1.3em">style</span><wbr><br><span style="line-height:1.3em"> SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//</span><wbr>设置<span style="line-height:1.3em">style</span><wbr><br><span style="line-height:1.3em"> DWORD dwStyle = m_list.GetExtendedStyle();</span><wbr><br><span style="line-height:1.3em"> dwStyle |= LVS_EX_FULLROWSELECT;//</span><wbr>选中某行使整行高亮(只适用与<span style="line-height:1.3em">report</span><wbr>风格的<span style="line-height:1.3em">listctrl</span><wbr>) <br><span style="line-height:1.3em">dwStyle |= LVS_EX_GRIDLINES;//</span><wbr>网格线(只适用与<span style="line-height:1.3em">report</span><wbr>风格的<span style="line-height:1.3em">listctrl</span><wbr>) <br><span style="line-height:1.3em">dwStyle |= LVS_EX_CHECKBOXES;//item</span><wbr>前生成<span style="line-height:1.3em">checkbox</span><wbr>控件 <br><span style="line-height:1.3em">m_list.SetExtendedStyle(dwStyle); //</span><wbr>设置扩展风格 <br> 注:<span style="line-height:1.3em">listview</span><wbr>的<span style="line-height:1.3em">style</span><wbr>请查阅<span style="line-height:1.3em">msdn</span><wbr><br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceshellui5/html/wce50lrflistviewstyles.asp<wbr></wbr><wbr><span style="font-size:18px; color:#000000"> <br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">3. </span><wbr>插入数据 <br><span style="line-height:1.3em"> m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//</span><wbr>插入列 <br><span style="line-height:1.3em"> m_list.InsertColumn( 1, "NAME", LVCFMT_LEFT, 50 );</span><wbr><br><span style="line-height:1.3em"> int nRow = m_list.InsertItem(0, "11");//</span><wbr>插入行 <br><span style="line-height:1.3em"> m_list.SetItemText(nRow, 1, "jacky");//</span><wbr>设置数据 <br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">4. </span><wbr>一直选中<span style="line-height:1.3em">item</span><wbr><br> 选中<span style="line-height:1.3em">style</span><wbr>中的<span style="line-height:1.3em">Show selection always</span><wbr>,或者在上面第<span style="line-height:1.3em">2</span><wbr>点中设置<span style="line-height:1.3em">LVS_SHOWSELALWAYS</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">5. </span><wbr>选中和取消选中一行 <br><span style="line-height:1.3em">int nIndex = 0;</span><wbr><br><span style="line-height:1.3em">//</span><wbr>选中 <br><span style="line-height:1.3em">m_list.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);</span><wbr><br><span style="line-height:1.3em">//</span><wbr>取消选中 <br><span style="line-height:1.3em"> m_list.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED);</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">6. </span><wbr>得到<span style="line-height:1.3em">listctrl</span><wbr>中所有行的<span style="line-height:1.3em">checkbox</span><wbr>的状态 <br><span style="line-height:1.3em">m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);</span><wbr><br><span style="line-height:1.3em">CString str;</span><wbr><br><span style="line-height:1.3em">for(int i=0; i&lt;m_list.GetItemCount(); i++)</span><wbr><br><span style="line-height:1.3em">{</span><wbr><br><span style="line-height:1.3em">if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED || m_list.GetCheck(i))</span><wbr><br><span style="line-height:1.3em">{</span><wbr><br><span style="line-height:1.3em">str.Format(_T("</span><wbr>第<span style="line-height:1.3em">%d</span><wbr>行的<span style="line-height:1.3em">checkbox</span><wbr>为选中状态<span style="line-height:1.3em">"), i);</span><wbr><br><span style="line-height:1.3em">AfxMessageBox(str);</span><wbr><br><span style="line-height:1.3em">}</span><wbr><br><span style="line-height:1.3em">}</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">7. </span><wbr>得到<span style="line-height:1.3em">listctrl</span><wbr>中所有选中行的序号 <br> 方法一: <br><span style="line-height:1.3em"> CString str;</span><wbr><br><span style="line-height:1.3em"> for(int i=0; i&lt;m_list.GetItemCount(); i++)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> str.Format(_T("</span><wbr>选中了第<span style="line-height:1.3em">%d</span><wbr>行<span style="line-height:1.3em">"), i);</span><wbr><br><span style="line-height:1.3em"> AfxMessageBox(str);</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br> 方法二: <br><span style="line-height:1.3em"> POSITION pos = m_list.GetFirstSelectedItemPosition();</span><wbr><br><span style="line-height:1.3em"> if (pos == NULL)</span><wbr><br><span style="line-height:1.3em"> TRACE0("No items were selected!\n");</span><wbr><br><span style="line-height:1.3em"> Else</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> while (pos)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> int nItem = m_list.GetNextSelectedItem(pos);</span><wbr><br><span style="line-height:1.3em"> TRACE1("Item %d was selected!\n", nItem);</span><wbr><br><span style="line-height:1.3em"> // you could do your own processing on nItem here</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">8. </span><wbr>得到<span style="line-height:1.3em">item</span><wbr>的信息 <br><span style="line-height:1.3em"> TCHAR szBuf[1024];</span><wbr><br><span style="line-height:1.3em"> LVITEM lvi;</span><wbr><br><span style="line-height:1.3em"> lvi.iItem = nItemIndex;</span><wbr><br><span style="line-height:1.3em"> lvi.iSubItem = 0;</span><wbr><br><span style="line-height:1.3em"> lvi.mask = LVIF_TEXT;</span><wbr><br><span style="line-height:1.3em"> lvi.pszText = szBuf;</span><wbr><br><span style="line-height:1.3em"> lvi.cchTextMax = 1024;</span><wbr><br><span style="line-height:1.3em"> m_list.GetItem(&amp;lvi);</span><wbr><br> 关于得到设置<span style="line-height:1.3em">item</span><wbr>的状态,还可以参考<span style="line-height:1.3em">msdn</span><wbr>文章 <br><span style="line-height:1.3em"> Q173242: Use Masks to Set/Get Item States in ClistCtrl</span><wbr><br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><a href="http://support.microsoft.com/kb/173242/en-us" target="_blank"><span style="font-size:18px; color:#000000; line-height:1.3em">http://support.microsoft.com/kb/173242/en-us</span><wbr></wbr></a><wbr><span style="font-size:18px"><span style="color:#000000"> <br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">9. </span><wbr>得到<span style="line-height:1.3em">listctrl</span><wbr>的所有列的<span style="line-height:1.3em">header</span><wbr>字符串内容 <br><span style="line-height:1.3em"> LVCOLUMN lvcol;</span><wbr><br><span style="line-height:1.3em"> char str[256];</span><wbr><br><span style="line-height:1.3em"> int nColNum;</span><wbr><br><span style="line-height:1.3em"> CString strColumnName[4];//</span><wbr>假如有<span style="line-height:1.3em">4</span><wbr>列 <br><span style="line-height:1.3em"> nColNum = 0;</span><wbr><br><span style="line-height:1.3em"> lvcol.mask = LVCF_TEXT;</span><wbr><br><span style="line-height:1.3em"> lvcol.pszText = str;</span><wbr><br><span style="line-height:1.3em"> lvcol.cchTextMax = 256;</span><wbr><br><span style="line-height:1.3em"> while(m_list.GetColumn(nColNum, &amp;lvcol))</span><wbr><br><span style="line-height:1.3em"> { </span><wbr><br><span style="line-height:1.3em"> strColumnName[nColNum] = lvcol.pszText;</span><wbr><br><span style="line-height:1.3em"> nColNum++;</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">10. </span><wbr>使<span style="line-height:1.3em">listctrl</span><wbr>中一项可见,即滚动滚动条 <br><span style="line-height:1.3em">m_list.EnsureVisible(i, FALSE);</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">11. </span><wbr>得到<span style="line-height:1.3em">listctrl</span><wbr>列数 <br><span style="line-height:1.3em">int nHeadNum = m_list.GetHeaderCtrl()-&gt;GetItemCount();</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">12. </span><wbr>删除所有列 <br> 方法一: <br><span style="line-height:1.3em"> while ( m_list.DeleteColumn (0))</span><wbr><br> 因为你删除了第一列后,后面的列会依次向上移动。 <br> 方法二: <br><span style="line-height:1.3em"> int nColumns = 4;</span><wbr><br><span style="line-height:1.3em"> for (int i=nColumns-1; i&gt;=0; i--)</span><wbr><br><span style="line-height:1.3em"> m_list.DeleteColumn (i);</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">13. </span><wbr>得到单击的<span style="line-height:1.3em">listctrl</span><wbr>的行列号 <br> 添加<span style="line-height:1.3em">listctrl</span><wbr>控件的<span style="line-height:1.3em">NM_CLICK</span><wbr>消息相应函数 <br><span style="line-height:1.3em"> void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> // </span><wbr>方法一: <br><span style="line-height:1.3em"> /*</span><wbr><br><span style="line-height:1.3em"> DWORD dwPos = GetMessagePos();</span><wbr><br><span style="line-height:1.3em"> CPoint point( LOWORD(dwPos), HIWORD(dwPos) );</span><wbr><br><span style="line-height:1.3em"> m_list.ScreenToClient(&amp;point);</span><wbr><br><span style="line-height:1.3em"> LVHITTESTINFO lvinfo;</span><wbr><br><span style="line-height:1.3em"> lvinfo.pt = point;</span><wbr><br><span style="line-height:1.3em"> lvinfo.flags = LVHT_ABOVE;</span><wbr><br><span style="line-height:1.3em"> int nItem = m_list.SubItemHitTest(&amp;lvinfo);</span><wbr><br><span style="line-height:1.3em"> if(nItem != -1)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> CString strtemp;</span><wbr><br><span style="line-height:1.3em"> strtemp.Format("</span><wbr>单击的是第<span style="line-height:1.3em">%d</span><wbr>行第<span style="line-height:1.3em">%d</span><wbr>列<span style="line-height:1.3em">", lvinfo.iItem, lvinfo.iSubItem);</span><wbr><br><span style="line-height:1.3em"> AfxMessageBox(strtemp);</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em"> */</span><wbr><br><span style="line-height:1.3em"> // </span><wbr>方法二<span style="line-height:1.3em">:</span><wbr><br><span style="line-height:1.3em"> /*</span><wbr><br><span style="line-height:1.3em"> NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;</span><wbr><br><span style="line-height:1.3em"> if(pNMListView-&gt;iItem != -1)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> CString strtemp;</span><wbr><br><span style="line-height:1.3em"> strtemp.Format("</span><wbr>单击的是第<span style="line-height:1.3em">%d</span><wbr>行第<span style="line-height:1.3em">%d</span><wbr>列<span style="line-height:1.3em">",</span><wbr><br><span style="line-height:1.3em"> pNMListView-&gt;iItem, pNMListView-&gt;iSubItem);</span><wbr><br><span style="line-height:1.3em"> AfxMessageBox(strtemp);</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em"> */</span><wbr><br><span style="line-height:1.3em"> *pResult = 0;</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">14. </span><wbr>判断是否点击在<span style="line-height:1.3em">listctrl</span><wbr>的<span style="line-height:1.3em">checkbox</span><wbr>上 <br> 添加<span style="line-height:1.3em">listctrl</span><wbr>控件的<span style="line-height:1.3em">NM_CLICK</span><wbr>消息相应函数 <br><span style="line-height:1.3em"> void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)</span><wbr><br><span style="line-height:1.3em">{ </span><wbr><br><span style="line-height:1.3em">DWORD dwPos = GetMessagePos();</span><wbr><br><span style="line-height:1.3em"> CPoint point( LOWORD(dwPos), HIWORD(dwPos) ); </span><wbr><br><span style="line-height:1.3em"> m_list.ScreenToClient(&amp;point);</span><wbr><br><span style="line-height:1.3em"> LVHITTESTINFO lvinfo;</span><wbr><br><span style="line-height:1.3em"> lvinfo.pt = point;</span><wbr><br><span style="line-height:1.3em"> lvinfo.flags = LVHT_ABOVE;</span><wbr><br><span style="line-height:1.3em"> UINT nFlag;</span><wbr><br><span style="line-height:1.3em"> int nItem = m_list.HitTest(point, &amp;nFlag);</span><wbr><br><span style="line-height:1.3em"> //</span><wbr>判断是否点在<span style="line-height:1.3em">checkbox</span><wbr>上 <br><span style="line-height:1.3em"> if(nFlag == LVHT_ONITEMSTATEICON)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> AfxMessageBox("</span><wbr>点在<span style="line-height:1.3em">listctrl</span><wbr>的<span style="line-height:1.3em">checkbox</span><wbr>上<span style="line-height:1.3em">");</span><wbr><br><span style="line-height:1.3em"> } </span><wbr><br><span style="line-height:1.3em"> *pResult = 0;</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">15. </span><wbr>右键点击<span style="line-height:1.3em">listctrl</span><wbr>的<span style="line-height:1.3em">item</span><wbr>弹出菜单 <br> 添加<span style="line-height:1.3em">listctrl</span><wbr>控件的<span style="line-height:1.3em">NM_RCLICK</span><wbr>消息相应函数 <br><span style="line-height:1.3em"> void CTest6Dlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;</span><wbr><br><span style="line-height:1.3em"> if(pNMListView-&gt;iItem != -1)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> DWORD dwPos = GetMessagePos();</span><wbr><br><span style="line-height:1.3em"> CPoint point( LOWORD(dwPos), HIWORD(dwPos) );</span><wbr><br><span style="line-height:1.3em"> CMenu menu;</span><wbr><br><span style="line-height:1.3em"> VERIFY( menu.LoadMenu( IDR_MENU1 ) );</span><wbr><br><span style="line-height:1.3em"> CMenu* popup = menu.GetSubMenu(0);</span><wbr><br><span style="line-height:1.3em"> ASSERT( popup != NULL ); </span> <wbr><br><span style="line-height:1.3em"> popup-&gt;TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );</span><wbr><br><span style="line-height:1.3em"> } </span><wbr><br><span style="line-height:1.3em"> *pResult = 0;</span><wbr><br><span style="line-height:1.3em"> }</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span> </span> <div> <span style="font-size:18px">16. item<wbr>切换焦点时<span style="line-height:1.3em">(</span><wbr>包括用键盘和鼠标切换<span style="line-height:1.3em">item</span><wbr>时<span style="line-height:1.3em">)</span><wbr>,状态的一些变化顺序 <br> 添加<span style="line-height:1.3em">listctrl</span><wbr>控件的<span style="line-height:1.3em">LVN_ITEMCHANGED</span><wbr>消息相应函数 <br><span style="line-height:1.3em"> void CTest6Dlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;</span><wbr><br><span style="line-height:1.3em"> // TODO: Add your control notification handler code here</span><wbr><br><span style="line-height:1.3em"> CString sTemp;</span><wbr><br><span style="line-height:1.3em"> if((pNMListView-&gt;uOldState &amp; LVIS_FOCUSED) == LVIS_FOCUSED &amp;&amp; (pNMListView-&gt;uNewState &amp; LVIS_FOCUSED) == 0)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> sTemp.Format("%d losted focus",pNMListView-&gt;iItem);</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em"> else if((pNMListView-&gt;uOldState &amp; LVIS_FOCUSED) == 0 &amp;&amp;</span><wbr><br><span style="line-height:1.3em"> (pNMListView-&gt;uNewState &amp; LVIS_FOCUSED) == LVIS_FOCUSED)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> sTemp.Format("%d got focus",pNMListView-&gt;iItem);</span><wbr><br><span style="line-height:1.3em"> } </span><wbr><br><span style="line-height:1.3em"> if((pNMListView-&gt;uOldState &amp; LVIS_SELECTED) == LVIS_SELECTED &amp;&amp;</span><wbr><br><span style="line-height:1.3em"> (pNMListView-&gt;uNewState &amp; LVIS_SELECTED) == 0)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em"> sTemp.Format("%d losted selected",pNMListView-&gt;iItem);</span><wbr><br><span style="line-height:1.3em"> }</span><wbr><br><span style="line-height:1.3em">else if((pNMListView-&gt;uOldState &amp; LVIS_SELECTED) == 0 &amp;&amp; (pNMListView-&gt;uNewState &amp; LVIS_SELECTED) == LVIS_SELECTED)</span><wbr><br><span style="line-height:1.3em"> {</span><wbr><br><span style="line-height:1.3em">sTemp.Format("%d got selected",pNMListView-&gt;iItem);</span><wbr><br><span style="line-height:1.3em">}</span><wbr><br><span style="line-height:1.3em">*pResult = 0; </span><wbr><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">17. </span><wbr>得到另一个进程里的<span style="line-height:1.3em">listctrl</span><wbr>控件的<span style="line-height:1.3em">item</span><wbr>内容 <br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><a href="http://www.codeproject.com/threads/int64_memsteal.asp" target="_blank"><span style="font-size:18px; color:#000000; line-height:1.3em">http://www.codeproject.com/threads/int64_memsteal.asp</span><wbr></wbr></a><wbr><span style="font-size:18px; color:#000000"> <br><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">18. </span><wbr>选中<span style="line-height:1.3em">listview</span><wbr>中的<span style="line-height:1.3em">item </span><wbr><br><span style="line-height:1.3em">Q131284: How To Select a Listview Item Programmatically</span><wbr><br></wbr></wbr></wbr></wbr></wbr></span><a href="http://support.microsoft.com/kb/131284/en-us" target="_blank"><span style="font-size:18px; color:#000000; line-height:1.3em">http://support.microsoft.com/kb/131284/en-us</span><wbr></wbr></a><wbr><span style="font-size:18px; color:#000000"> <br><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">19. </span><wbr>如何在<span style="line-height:1.3em">CListView</span><wbr>中使用<span style="line-height:1.3em">CListCtrl</span><wbr>的派生类 <br></wbr></wbr></wbr></wbr></span><a href="http://www.codeguru.com/cpp/controls/listview/introduction/article.php/c919/" target="_blank"><span style="font-size:18px; color:#000000; line-height:1.3em">http://www.codeguru.com/cpp/controls/listview/introduction/article.php/c919/</span><wbr></wbr></a><wbr><span style="font-size:18px; color:#000000"> <br><br><span style="line-height:1.3em">--------------------------------------------------------------------------------</span><wbr><br><span style="line-height:1.3em">20. listctrl</span><wbr>的<span style="line-height:1.3em">subitem</span><wbr>添加图标 <br><span style="line-height:1.3em"> m_list.SetExtendedStyle(LVS_EX_SUBITEMIMAGES);</span><wbr><br><span style="line-height:1.3em"> m_list.SetItem(..); //</span><wbr>具体参数请参考<span style="line-height:1.3em">msdn</span><wbr><br></wbr></wbr></wbr></wbr></wbr></wbr></span></wbr></wbr></wbr> </div> </wbr></wbr>
分享到:
评论

相关推荐

    ListControl控件技巧汇总

    详细描述了ListControl控件的使用方法,希望对大家有所帮助

    List_Control控件技巧总汇

    List_Control控件技巧总汇.doc vc listctr技巧,感觉不错!

    ListControl.rar_软件设计/软件工程_Visual_C++_

    List_Control控件技巧总汇在listcontrol控件中用到的二十中技术

    ASP.NET 控件的使用

    第1章 ASP.NET Framework概览 2 1.1 ASP.NET和.NET Framework 5 1.1.1 框架类库 5 1.1.2 公共语言运行库 9 1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解和处理控件事件 12 1.2.4 ...

    ASP.NET.4揭秘

    10.5 使用checkboxlist控件355 10.6 使用bulletedlist控件357 10.7 创建自定义的列表控件361 10.8 小结368 第11章 使用gridview控件369 11.1 gridview控件基础369 11.1.1 显示数据369 11.1.2 选择数据372 11.1.3 ...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例059 将数据库中的数据表添加到ListControl控件 实例060 利用ListControl控件浏览数据 实例061 利用ListControl控件制作导航界面 实例062 在列表视图中拖动视图项 实例063 利用列标题对列表视图进行数据排序...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例059 将数据库中的数据表添加到ListControl控件 实例060 利用ListControl控件浏览数据 实例061 利用ListControl控件制作导航界面 实例062 在列表视图中拖动视图项 实例063 利用列标题对列表视图进行数据排序...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    cc实例056 自动调整组合框的宽度 cc实例057 颜色组合框 cc实例058 多列显示的组合框 2.5 ListControl控件典型实例 cc实例059 将数据库中的数据表添加到ListControl控件 cc实例060 利用ListControl控件...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例059 将数据库中的数据表添加到ListControl控件   cc实例060 利用ListControl控件浏览数据   cc实例061 利用ListControl控件制作导航界面   cc实例062 在列表视图中拖动视图项   cc实例063 利用...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例059 将数据库中的数据表添加到ListControl控件   cc实例060 利用ListControl控件浏览数据   cc实例061 利用ListControl控件制作导航界面   cc实例062 在列表视图中拖动视图项   cc实例063 利用...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    4.4 List控件 4.4.1 Selectable列表控件 4.4.2 BulletedList控件 4.5 输入验证控件 4.5.1 验证控件 4.5.2 验证流程 4.5.3 BaseValidator类 4.5.4 RequiredFieldValidator控件 4.5.5 ...

    ASP.NET4高级程序设计(第4版) 3/3

    4.4 List控件 116 4.4.1 Selectable列表控件 117 4.4.2 BulletedList控件 120 4.5 输入验证控件 121 4.5.1 验证控件 121 4.5.2 验证流程 122 4.5.3 BaseValidator类 122 4.5.4 ...

    asp.net知识库

    ASP.NET2.0控件一览---标准控件(1) ASP.NET2.0控件一览---标准控件(2) ASP.NET 2.0中使用webpart系列控件 ASP.NET 2.0 中实现跨页提交 新控件、管理外观、布局及其它用户体验 ASP.NET 2.0 缓存技术 (原创) asp.net...

Global site tag (gtag.js) - Google Analytics