关于EDIT控件和自定义类的2个问题,高手有功夫看一眼,谢谢

str345 2004-05-03 10:23:12
1.如何是EDIT控件响应鼠标双击消息?
2.自定义一个类A,有函数Draw(),想在Draw()中,实现绘图功能,如何得到一个设备场镜?不能使用传入的CDC *pDC!!!!!!!!!!!!!!
...全文
19 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
str345 2004-05-10
countryboy(阿泰)你第一个问题给的方法,在客户区任意处双击鼠表都能执行OnModify(),我要的是只能在EDIT控件上好使,别处无效的效果!!!!!!!!!!!!!!!!!!
  • 打赏
  • 举报
回复
countryboy 2004-05-06
1.用截获鼠标消息的方法吧~~!!1
重载PreTranslateMessage函数
再在里面判断
BOOL CTestView::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->hwnd==::GetDlgItem(m_hWnd,IDC_EDIT))
if(pMsg->message==WM_LBUTTONDBLCLK)
OnModify();//双击事件时实现功能的函数
return CFormView::PreTranslateMessage(pMsg);
}
2.如何得到一个设备场镜?
Draw()
{
CDC* pDC=GetDlgItem(IDC_要画图的控件)->GetDC();
........画图......
ReleaseDC(pDC);
}
  • 打赏
  • 举报
回复
str345 2004-05-05
.如何使EDIT控件响应鼠标双击消息?!!!!!!!!!!!!!!
  • 打赏
  • 举报
回复
kongyunzhongque 2004-05-04
控件指针还没有取出来,怎么调用GetDC,除非你自定义的类是从CWnd继承下来的。
看看MSDN吧!
要取得当前视图的指针,可以用
CView * pView =AfxGetMainWnd()->GetActiveView();
CDC *pDC =pView->GetDC();
  • 打赏
  • 举报
回复
菜牛 2004-05-04
为什么不能使用?谁规定的?
  • 打赏
  • 举报
回复
str345 2004-05-03
Mackz(在相互) :不能使用传入的CDC *pDC!!!!!!!!!!!!!!
  • 打赏
  • 举报
回复
菜牛 2004-05-03
你的类如果不是窗口的,当然不能这么用,相当于::GetDC()了。
其实完全可以,比如你的类中的函数:
CMyClass::Draw(CDC *pDC)
{
}
在需要绘图的地方这么调用(比如在CMyView::OnPaint()里):
CPaintDC dc(this);
CMyClass myClass;
myClass.Draw(&dc);
  • 打赏
  • 举报
回复
str345 2004-05-03
kongyunzhongque(云雀):
使用CDC *pDC=GetDC();编译说GetDC()的参数不对,应如何设置?
  • 打赏
  • 举报
回复
kongyunzhongque 2004-05-03
2.要实现绘图就要取得设备环境。
不传入那就直接获得,如获得一个控件的dc可以用CWnd::GetDC
有一点需要声明的是,不在视图中的OnDraw、OnPaint、OnEarseBkGround等函数中画的东东,当视图重画时就还原了。
  • 打赏
  • 举报
回复
str345 2004-05-03
我的EDIT的属性中没有notify,STATIC控件有,不解,我设置错了???
  • 打赏
  • 举报
回复
madhappy 2004-05-03
1 EDIT属性选中notify。
然后选择响应鼠标双击事件。写响应函数代码。

2 可以
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
加入

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
申请成为版主
帖子事件
创建了帖子
2004-05-03 10:23
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……