如何屏蔽CEdit控件中复制功能的另类方法
2005-01-19 16:23
323 查看
最近一个项目需要将CEdit控件的复制功能屏蔽掉,思来想去用了一个比较另类的方法解决了此问题。
基本思想:1 将CEdit控件的右键消息处处理掉,防止通过右键菜单中的复制选项,但是还可以利用快捷键ctrl+c复制
2 将CEdit控件中的鼠标移动消息处理掉,防止用鼠标选中文本
3 将CEdit控件的鼠标双击消息处理掉,防止利用双击选中文本
实现这几个功能CEdit控件的复制功能就无法实现了
实现步骤:
1. 从CEdit类派生出自己的类CMyEdit类
class CMyEdit : public CEdit
{
// Construction
public:
CMyEdit();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyEdit)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CMyEdit();
// Generated message map functions
protected:
//{{AFX_MSG(CMyEdit)
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
2.重载鼠标右键消息函数
void CMyEdit::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//CEdit::OnRButtonDown(nFlags, point);将原有的CEdit右键函数屏蔽掉,是他失去功能
}
3.重载鼠标移动消息函数
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//CEdit::OnMouseMove(nFlags, point);
}
4.重载鼠标双击消息函数
void CMyEdit::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//CEdit::OnLButtonDblClk(nFlags, point);
}
5.将CMyEdit类实例化
基本思想:1 将CEdit控件的右键消息处处理掉,防止通过右键菜单中的复制选项,但是还可以利用快捷键ctrl+c复制
2 将CEdit控件中的鼠标移动消息处理掉,防止用鼠标选中文本
3 将CEdit控件的鼠标双击消息处理掉,防止利用双击选中文本
实现这几个功能CEdit控件的复制功能就无法实现了
实现步骤:
1. 从CEdit类派生出自己的类CMyEdit类
class CMyEdit : public CEdit
{
// Construction
public:
CMyEdit();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyEdit)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CMyEdit();
// Generated message map functions
protected:
//{{AFX_MSG(CMyEdit)
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
2.重载鼠标右键消息函数
void CMyEdit::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//CEdit::OnRButtonDown(nFlags, point);将原有的CEdit右键函数屏蔽掉,是他失去功能
}
3.重载鼠标移动消息函数
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//CEdit::OnMouseMove(nFlags, point);
}
4.重载鼠标双击消息函数
void CMyEdit::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//CEdit::OnLButtonDblClk(nFlags, point);
}
5.将CMyEdit类实例化
相关文章推荐
- VB实现屏蔽文本框右键菜单的复制、粘贴等功能的方法
- Android EditText 的使用及值得注意的点——如如何屏蔽EditText的复制、粘贴功能
- MFC 如何让CEdit控件只能输入数字、正负号、小数点(浮点数)
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- 如何在一个窗体中调用另一个窗体的控件或方法
- 用户控件(.ascx)与网页间(.aspx)如何传值的几种方法
- Android如何屏蔽滑动控件滑到尽头时的阴影效果
- 如何估算测试工作量(四)功能点分析方法之一-原理篇
- 用户控件(.ascx)与网页间(.aspx)如何传值的几种方法(持续更新)
- 如何屏蔽控件的默认右键菜单
- UE4笔记---Slate控件中的代理事件如何绑定UObject方法
- 关于屏蔽ALT+CTRL+DEL的另类方法
- mongoDB如何复制collection里的数据到另一个collection方法总结
- Android Studio该如何导入别人的开源库到自己的项目中并使用库中的控件,网上找过方法但是并不能搞定,希望实际问题 实际解决,拯救我这个傻瓜
- JS禁止鼠标右键、禁止全选、复制、粘贴的方法(所谓的防盗功能)
- 详解onMeasure()方法中如何测量一个控件尺寸
- Cordova webapp实战开发:(7)如何通过简单的方法做到,不重新发布APP来修复bug、增加功能、或者躲开苹果的一些严格审核?
- Zero Clipboard js+swf实现的复制功能使用方法
- VC中自画控件的过程和方法(CButton, CEdit, etc) 2010-11-8 23:07
- WPF的WebBrowser控件打开flash,如何屏蔽警告信息