在 MFC(Microsoft Foundation Classes)中,CDragListBox 类的确有一个名为 BeginDrag 的公共方法。该方法用于启动拖放操作,通常是在列表框的某个项上执行鼠标左键的按下操作时调用。

以下是 CDragListBox::BeginDrag 方法的声明:
void CDragListBox::BeginDrag(
    int nItem,
    CPoint point
);

  •  nItem:指定要拖动的项的索引。

  •  point:指定鼠标按下的屏幕坐标。


调用 BeginDrag 方法后,将启动一个拖放操作,并且可以通过鼠标移动来拖动列表框中的项。你通常会在相应的消息处理函数中调用这个方法,例如,在 OnLButtonDown 中。

以下是一个简单的示例:
void CMyDialog::OnLButtonDown(UINT nFlags, CPoint point)
{
    int nIndex = m_ListBox.ItemFromPoint(point, TRUE);
    if (nIndex != LB_ERR)
    {
        m_ListBox.BeginDrag(nIndex, point);
    }

    CDialog::OnLButtonDown(nFlags, point);
}

在这个示例中,如果鼠标左键按下在列表框的项上,就会调用 BeginDrag 方法启动拖放操作。

请注意,这只是一个简单的示例,实际使用时可能需要根据你的应用程序的需求进行适当的调整。


转载请注明出处:http://www.zyzy.cn/article/detail/17556/MFC/CDragListBox