ClistCtrl,Report形式,已经有100条记录数据!
设置了LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT属性!现在我想实现的功能是:
用户点击一个按纽,使CListCtrl从上到下依次逐行被选择,每次只选中一行!
例: for (int i=0;i<m_list.GetItemCount;i++)
{
使m_list的第i行被选种!!//代码该怎么写呢??
sleep(50);
}
注意:只是选中一行!!!!!
谢谢!!!
设置了LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT属性!现在我想实现的功能是:
用户点击一个按纽,使CListCtrl从上到下依次逐行被选择,每次只选中一行!
例: for (int i=0;i<m_list.GetItemCount;i++)
{
使m_list的第i行被选种!!//代码该怎么写呢??
sleep(50);
}
注意:只是选中一行!!!!!
谢谢!!!
{
HANDLE m_hListThread;
DWORD dwThreadId; m_hListThread = CreateThread(NULL,0,fnThreadDrawList,this,0,&dwThreadId);
m_ctrlMingxiList.SetFocus();
CloseHandle(m_hListThread);
}DWORD WINAPI fnThreadDrawList(LPVOID lpParameter)
{
LV_ITEM lvi;
UINT uState; CAnswerDLGDlg *pDlg = (CAnswerDLGDlg*)lpParameter;
int iCount = pDlg->m_ctrlMingxiList.GetItemCount();
lvi.mask = LVIF_STATE;
for(int i=0; i<iCount; i++)
{
lvi.iItem = i;
lvi.iSubItem = 0;
lvi.stateMask =0xFFFF; // get all state flags
pDlg->m_ctrlMingxiList.GetItem(&lvi);
lvi.state &= ~(LVIS_SELECTED|LVIS_FOCUSED);
pDlg->m_ctrlMingxiList.SetItemState(i,&lvi);
pDlg->m_ctrlMingxiList.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
Sleep(1000);
}
return 0;
}
{
m_list.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED);
sleep(50);
}
这样不行吗?不行的话先将前一个的状态设为没有选中状态,然后再设置这条数据状态