当拖动其中一项,并在外面弹起左键时,想知道当前被拖动项的会员编号,可以这样来实现
void CXDlgControlRalayOut::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//左键弹起,结束拖动
//记下结束位置的点坐标,与目标矩形比较,看是否处于目标矩形中
ptEnd=point;
m_bisDraging=0;
//停止拖动时,判断此时鼠标是否在模拟分屏用的某个矩形区域里,这时就要用到循环了
//为了减少比较次数,先判断是否在边界大矩形里,如果在的话,再循环判断是在哪个矩形里
//也要判断是否是两个窗口互换,当然如果图简单,可以暂不提供此功能
if (rcStaticScreen.PtInRect(ptEnd))
{
//AfxMessageBox("释放位置处于屏幕矩形内");
}
if (rect[0].PtInRect(ptEnd))
{
AfxMessageBox("拖动到第0个窗口");
}
if (rect[1].PtInRect(ptEnd))
{
AfxMessageBox("拖动到第1个窗口");
}
if (rect[2].PtInRect(ptEnd))
{
AfxMessageBox("拖动到第2个窗口");
}
if (rect[3].PtInRect(ptEnd))
{
AfxMessageBox("拖动到第3个窗口");
}
if (rect[4].PtInRect(ptEnd))
{
AfxMessageBox("拖动到第4个窗口");
}
ReleaseCapture();//释放光标
if (NULL != m_hOldCursor)
SetCursor(m_hOldCursor);
POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
int nItem=m_ListCtrl.GetNextSelectedItem(pos);
CString str;
str.Format("当前选择项的会员号:%d",m_ListCtrl.GetItemData(nItem));
AfxMessageBox(str);//这儿能正确显示项的数据,比如会员号1001,1003
CDialog::OnLButtonUp(nFlags, point);
}
附上初始化对话框时的代码,初始化列表控件
//设置列表控件的背景色
m_ListCtrl.SetBkColor(RGB(212,208,200));
index=0;
pImageList=new CImageList;
pImageList->Create (32,32,ILC_COLOR4,5,2);
m_ListCtrl.SetImageList (pImageList,LVSIL_NORMAL );
CString FilePathName,FileName;
FilePathName="D:\\VC\\client\\MyClient\\skins\\ImageList1\\1.bmp";
HBITMAP hBitmap;
CBitmap *pBitmap;
pBitmap=new CBitmap;
hBitmap=(HBITMAP)LoadImage(NULL,FilePathName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
pBitmap->Attach (hBitmap);
pImageList->Add (pBitmap,RGB(0,0,0));
FileName="太原店";
m_ListCtrl.InsertItem (0,FileName,0);
FilePathName="D:\\VC练习\\我的会议\\MyClient\\skins\\ImageList1\\2.bmp";
FileName="大同店";
m_ListCtrl.InsertItem (1,FileName,1);
FileName="朔州店";
m_ListCtrl.InsertItem (2,FileName,2);
m_ListCtrl.InsertItem (3,"阳泉店",2);
m_ListCtrl.InsertItem (4,"运城店",2);
m_ListCtrl.InsertItem (5,"离石店",2);
m_ListCtrl.InsertItem (6,"朔州店",2);
m_ListCtrl.InsertItem (7,"大同店",2);
m_ListCtrl.InsertItem (8,"忻州店",2);
m_ListCtrl.InsertItem (9,"平遥店",2);
m_ListCtrl.InsertItem (10,"长治店",2);
m_ListCtrl.SetTextBkColor(RGB(128,128,0));
m_ListCtrl.SetTextColor(RGB(255,255,0));
m_ListCtrl.SetItemData(0,1000);
m_ListCtrl.SetItemData(1,1001);
m_ListCtrl.SetItemData(2,1002);
m_ListCtrl.SetItemData(3,1003);
m_ListCtrl.SetItemData(4,1004);
m_ListCtrl.SetItemData(5,1005);
m_ListCtrl.SetItemData(6,1006);
m_ListCtrl.SetItemData(7,1007);
m_ListCtrl.SetItemData(8,1008);
m_ListCtrl.SetItemData(9,1009);
m_ListCtrl.SetItemData(10,1010);
运行结果:
评论