如何在控件中的鼠标事件中得到鼠标的坐标?

Meuck 2004-04-30 04:21:02
比如我有一个List控件,我想在它的item上按下去之后,
会弹出相应的菜单?
...全文
94 15 点赞 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
nokialiu 2004-05-06
还有一种方法是响应HitTest事件,就可以确定当前选中的是哪一个Item!
  • 打赏
  • 举报
回复
UDX协议 2004-05-05
些时的CPoint point是screen坐标。
  • 打赏
  • 举报
回复
UDX协议 2004-05-05
比如我有一个List控件,我想在它的item上按下去之后,
会弹出相应的菜单?
------------------------
GetCurPos
ScreenToClient
用这两个函数就解决了!
怎么回答的都不是我要的呢?
--------------------------
更简单的方法是
void CNetDown_FormView::OnContextMenu(CWnd* pWnd, CPoint point)
{
if(pWnd== &m_list)
{
CXTMenu menu;
menu.LoadMenu(IDR_POPMENU);
CXTMenu *pSubMenu = menu.GetSubMenu(1);
CRect rect;
pWnd->GetWindowRect(rect);
if(rect.PtInRect(point))
{
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x,
point.y, this);
}
}
// TODO: Add your message handler code here

}

通过控件的CWnd*就可了。
  • 打赏
  • 举报
回复
Meuck 2004-05-04
GetCurPos
ScreenToClient
用这两个函数就解决了!
怎么回答的都不是我要的呢?
  • 打赏
  • 举报
回复
countryboy 2004-05-02
POSITION pos=m_list.GetFirstSelectedItemPosition();
int nItem=m_list.GetNextSelectedItem(pos);
  • 打赏
  • 举报
回复
Meuck 2004-05-01
今天上午上不来,现在问题我自己解决了,可是还是不知道那个NMHDR *pNMHDR
参数有什么用?
  • 打赏
  • 举报
回复
Meuck 2004-04-30
to: kdbangbang(kdbangbang)
什么事件?
  • 打赏
  • 举报
回复
Meuck 2004-04-30
没有其它方法了吗?
  • 打赏
  • 举报
回复
kdbangbang 2004-04-30
在串口响应事件中有鼠标的位置
  • 打赏
  • 举报
回复
Meuck 2004-04-30
是吗,我去看看先
  • 打赏
  • 举报
回复
Meuck 2004-04-30
to pyl2001(尚未开窍) :
你说的那个事件在 Message中找不到啊?
  • 打赏
  • 举报
回复
enoloo 2004-04-30
www.vccode.com有这样的list控件。

你可以从CList继承建立一个list类,处理它的click消息。
  • 打赏
  • 举报
回复
Meuck 2004-04-30
这些参数怎么用啊?
  • 打赏
  • 举报
回复
liuxingjian 2004-04-30
在CListCtrl中相应NMCLICK 消息的OnNMClick()函数就行了,点击信息在参数NMHDR *pNMHDR中,在该函数中弹出上下文菜单就行了。
  • 打赏
  • 举报
回复
pyl2001 2004-04-30
LRESULT
CYourCtrl::OnLButtonDown(UINT /*uMsg*/,
WPARAM wParam,
LPARAM lParam,
BOOL& /*bHandled*/)
{
CPoint pt(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
pt就是鼠标位置
}
  • 打赏
  • 举报
回复
相关推荐
发帖
界面
加入

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2004-04-30 04:21
社区公告
暂无公告