Picture 如何实现双击 (高手进)

AndyKonLoveRabbit 2010-11-10 04:10:02
有没有个可以把 怎么实现Picture控件双击事件 说清楚的 高手来帮我解答下这个问题
...全文
135 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijianli9 2010-12-03
  • 打赏
  • 举报
回复
VisualEleven两种方法都可取,特别第二种,很好,

向立天 2010-12-03
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖

相关规定详见界面界面版关于版主结帖工作的具体办法
Eleven 2010-11-11
  • 打赏
  • 举报
回复

BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(WM_LBUTTONDBLCLK == pMsg->message)
{
CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC1);
ASSERT(pStatic);
CRect rect;
pStatic->GetWindowRect(&rect);
if(rect.PtInRect(pMsg->pt))
{
AfxMessageBox(_T("Click!"));
}
}
return CDialog::PreTranslateMessage(pMsg);
}
LiuYinChina 2010-11-11
  • 打赏
  • 举报
回复
算了,把邮箱给偶,我给你个好东西。
begges 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 andykonloverabbit 的回复:]
不子类化 CStatic 的方法 有的速度说下
[/Quote]
为啥不子类化?那怎么响应wm_lbuttondblclk消息?
AndyKonLoveRabbit 2010-11-10
  • 打赏
  • 举报
回复
不子类化 CStatic 的方法 有的速度说下
AndyKonLoveRabbit 2010-11-10
  • 打赏
  • 举报
回复
有没有可以提供 源码的
AndyKonLoveRabbit 2010-11-10
  • 打赏
  • 举报
回复
没有自己实现的就别 引用别人的帖子了 晕死
sendwb 2010-11-10
  • 打赏
  • 举报
回复
让picture继承一下CStatic是比较常用的方法,也可以通过父窗口的双击处理函数中加入坐标判断,方法很多,,一般都是采用继承CStatic的自定义picture类来实现
AndyKonLoveRabbit 2010-11-10
  • 打赏
  • 举报
回复
!!!!!!!!!!!!!!!!!!!!!!!一位我是什么啊?
tigerMayDo 2010-11-10
  • 打赏
  • 举报
回复
肯定有的。不过你点击在picture控件的中间没有用,因为picture控件只是一个矩形框架区域。不包含内部区域。
响应对话框的双击事件吧
重载这个函数:PreTranslateMessage
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_LBUTTONDBLCLK)
{
//判断点在范围内,
}
}
Eleven 2010-11-10
  • 打赏
  • 举报
回复
子类化CStatic类,比如类名为CNewStatic,在该类中处理WM_LBUTTONDBLCLK消息
void CNewStatic::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default

CStatic::OnLButtonDblClk(nFlags, point);

AfxMessageBox(_T("HELLO"));
}

CNewStatic m_static; // 成员变量
BOOL CXXDlg::OnInitDialog()
{
...
m_static.SubclassDlgItem(IDC_STATIC1, this);
m_static.ModifyStyle(0, SS_NOTIFY); // 或者在资源编辑器勾上Notify属性也可以
return TRUE;
}

15,979

社区成员

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

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