关于EDIT控件和自定义类的2个问题,高手有功夫看一眼,谢谢 1.如何是EDIT控件响应鼠标双击消息?2.自定义一个类A,有函数Draw(),想在Draw()中,实现绘图功能,如何得到一个设备场镜?不能使用传入的CDC *pDC!!!!!!!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 EDIT属性选中notify。 然后选择响应鼠标双击事件。写响应函数代码。2 可以 我的EDIT的属性中没有notify,STATIC控件有,不解,我设置错了??? 2.要实现绘图就要取得设备环境。不传入那就直接获得,如获得一个控件的dc可以用CWnd::GetDC有一点需要声明的是,不在视图中的OnDraw、OnPaint、OnEarseBkGround等函数中画的东东,当视图重画时就还原了。 kongyunzhongque(云雀):使用CDC *pDC=GetDC();编译说GetDC()的参数不对,应如何设置? 你的类如果不是窗口的,当然不能这么用,相当于::GetDC()了。其实完全可以,比如你的类中的函数:CMyClass::Draw(CDC *pDC){}在需要绘图的地方这么调用(比如在CMyView::OnPaint()里):CPaintDC dc(this);CMyClass myClass;myClass.Draw(&dc); Mackz(在相互) :不能使用传入的CDC *pDC!!!!!!!!!!!!!! 控件指针还没有取出来,怎么调用GetDC,除非你自定义的类是从CWnd继承下来的。看看MSDN吧!要取得当前视图的指针,可以用CView * pView =AfxGetMainWnd()->GetActiveView();CDC *pDC =pView->GetDC(); .如何使EDIT控件响应鼠标双击消息?!!!!!!!!!!!!!! 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);} countryboy(阿泰)你第一个问题给的方法,在客户区任意处双击鼠表都能执行OnModify(),我要的是只能在EDIT控件上好使,别处无效的效果!!!!!!!!!!!!!!!!!! 利用vc实现画图功能 关于单文档程序的一些问题 如何在DLL中访问Access 请问小波变换是什么东东?主要用来干嘛的? 如何取Session中的值? 关于在VC中添加c库的问题?急!!!!!! 救命啊,有谁做过BMP格式的图像旋转和镜像的 请问:这个怎么遍? 截获WM_COMMAND消息,怎么判断是哪个控件哪个控件发出的? 谁有兴趣我们一起研究作com积分组件? 我如何实现dos与windows通过ipx进行通信 做了一个自绘风格的菜单,点击主菜单项后弹出的菜单被控件挡住了,怎么解决?
然后选择响应鼠标双击事件。写响应函数代码。2 可以
不传入那就直接获得,如获得一个控件的dc可以用CWnd::GetDC
有一点需要声明的是,不在视图中的OnDraw、OnPaint、OnEarseBkGround等函数中画的东东,当视图重画时就还原了。
使用CDC *pDC=GetDC();编译说GetDC()的参数不对,应如何设置?
其实完全可以,比如你的类中的函数:
CMyClass::Draw(CDC *pDC)
{
}
在需要绘图的地方这么调用(比如在CMyView::OnPaint()里):
CPaintDC dc(this);
CMyClass myClass;
myClass.Draw(&dc);
看看MSDN吧!
要取得当前视图的指针,可以用
CView * pView =AfxGetMainWnd()->GetActiveView();
CDC *pDC =pView->GetDC();
重载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);
}