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

Meuck 2004-04-30 04:21:02
比如我有一个List控件,我想在它的item上按下去之后,
会弹出相应的菜单?
...全文
132 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
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就是鼠标位置
}

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧