我的代码:
Item.state=LVIS_SELECTED | LVIS_FOCUSED;
Item.stateMask=LVIS_SELECTED | LVIS_FOCUSED;
SendMessage(hList, LVM_SETITEMSTATE, (WPARAM)1, (LPARAM)&Item);
好像这样不行啊!
请问应该怎样做?谢谢!

解决方案 »

  1.   

    不好意思,忘了说明是ListView控件!
      

  2.   

    SendMessage( 
      (HWND) hWnd,       // handle to destination window 
      EM_SETSEL,         // message to send
      (WPARAM) wParam,   // starting position
      (LPARAM) lParam    // ending position
    );
      

  3.   

    楼上,不好意思,我要的不是编辑框,而是ListView!谢谢!
      

  4.   

    ListView_SetItemState (m_hList, i, LVIS_SELECTED, LVIS_SELECTED);
      

  5.   

    //上面的是选中一行,下面的是取消选中一行
    LVITEM lvitem;
    ZeroMemory (&lvitem, sizeof (lvitem));
    lvitem.mask = LVIF_STATE;
    lvitem.stateMask = LVIS_SELECTED; 
    lvitem.iItem = i; 
    ListView_SetItem (m_hList, &lvitem);
      

  6.   

    txk1452,我试过,不行啊!能否给个能运行的例子。
      

  7.   

    怎么可能呢,在我这运行的很好
    m_hList窗口句柄对不,看看MSDN,要不把详细代吗发上来还有一点要注意的,列表视图控件在没有获得焦点时,默认情况是看不的(虽然已经选择了)
    ListView_SetItemState   (hList,   i,   LVIS_SELECTED,   LVIS_SELECTED);
    SetFocus (hList) //加上这句再看看行不行
    ==============================================================
    我程序中部分代吗
    case IDM_SELECTALL:
    {
    FORWARD_WM_SETREDRAW (m_hList, FALSE, SNDMSG);
    for (int i = 0; i < ListView_GetItemCount (m_hList); i ++)
    ListView_SetItemState (m_hList, i, LVIS_SELECTED, LVIS_SELECTED);
    FORWARD_WM_SETREDRAW (m_hList, TRUE, SNDMSG);
    SetFocus (m_hList);
    }
    break;
      

  8.   

    谢谢txk1452,原来是列表视图控件没有获得焦点,就差这一句SetFocus(hList) ,有了这一句我自己的代码也是可以!谢谢!
      

  9.   

    i < ListView_GetItemCount (m_hList); not very effective. ^_^