各位好,我是新人,非常高兴能加入这里。带来一个小问题:
我选用List Control中report样式,其中实现checkbox
//实现checkbox
DWORD dwNewStyle=m_ListCtrl.GetExtendedStyle();
dwNewStyle|= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES
|LVS_EX_ONECLICKACTIVATE
可是现实后表项的checkbox缺省状态是没有选中的状态(□),我想它缺省显示状态时就是带有
对号(√)的选中状态。
还有一个小问题:如何单独选中一行加入右键功能,谢谢。
我表述的不好,请大家多理解,谢谢大家
我选用List Control中report样式,其中实现checkbox
//实现checkbox
DWORD dwNewStyle=m_ListCtrl.GetExtendedStyle();
dwNewStyle|= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES
|LVS_EX_ONECLICKACTIVATE
可是现实后表项的checkbox缺省状态是没有选中的状态(□),我想它缺省显示状态时就是带有
对号(√)的选中状态。
还有一个小问题:如何单独选中一行加入右键功能,谢谢。
我表述的不好,请大家多理解,谢谢大家
m_ListCtrl.SetCheck(1); //第二个选中
m_ListCtrl.SetCheck(n-1); //第n个选中m_ListCtrl.SetCheck(0,FALSE);//第一个取消选中...
我的部分代码:
void CTsDlg::OnClickListctrl(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
for (int i=0;i<m_ListCtrl.GetItemCount();i++)
{
if (m_ListCtrl.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
//在这里加入实现右键的功能
}
UpdateData(FALSE); //
*pResult = 0;
}
{
// TODO: Add your control notification handler code here
for (int i=0;i<m_ListCtrl.GetItemCount();i++)
{
if (m_ListCtrl.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
//在这里加入实现右键的功能
CRect rect;
CPoint point; ::GetCursorPos(&point);
HMENU hMenu=::CreatePopupMenu();
UINT CmdID; ::AppendMenu(hMenu,MF_STRING,101,"xxxx");
::AppendMenu(hMenu,MF_STRING,102,"xxxx");
::AppendMenu(hMenu,MF_STRING,103,"xxx");
::AppendMenu(hMenu,MF_STRING,104,"xxxx");
CmdID=(UINT)::TrackPopupMenu(hMenu,TPM_LEFTALIGN|TPM_RETURNCMD,point.x,point.y,0,m_hWnd,NULL); switch (CmdID)
{
case 101:
//处理方法在这里
break;
case 102:
break;
}
UpdateData(FALSE); //
*pResult = 0;
}