How to disable dropping of files in RichEdit 2.0

本文介绍如何通过调用RevokeDragDrop函数并重写WM_DROPFILES消息处理程序来禁用RichEdit 2.0控件中的文件拖放功能。此方法适用于使用CRichEditCtrl类的应用程序。

Summary:

 How do you disable the dropping of files in RichEdit version 2.0 with the CRichEditCtrl class?

Call the RevokeDragDrop(), passing the pointer to the RichEdit control window, as the parameter. Also, override the OnDropFiles() and return without calling the   function of the base class. 

 

More Information:

To prevent a Drag-and-Drop enabled window from accepting files use the RevokeDragDrop() function. Pass the pointer to the target window as the parameter for the function. The WM_DROPFILES message handler must be overriden and control must be returned from it, without calling the OnDropFiles() function of the base class.

You use this function during the initialization, typically, in the InitInstance() function of the window procedure. Handling the WM_DROPFILES message alone, or calling only the RevokeDragDrop() is not sufficient. To successfully prevent the links from being placed in the RichEdit control version 2.0, you must do both of the previously mentioned steps.

 

from:      http://support.microsoft.com/default.aspx?scid=kb;en-us;195421

在Ubuntu系统中,禁用挂起功能可以通过多种方式实现,具体取决于用户希望在何种场景下禁用该功能。以下是几种常见的方法: ### 1. 禁用通过电源管理的自动挂起 Ubuntu 使用 `systemd` 来管理系统的电源状态,包括挂起(suspend)和休眠(hibernate)。可以通过修改 `logind.conf` 文件来禁用自动挂起功能。 编辑 `/etc/systemd/logind.conf` 文件: ```bash sudo nano /etc/systemd/logind.conf ``` 找到以下行并进行修改: ```ini HandleSuspendKey=ignore HandleLidSwitch=ignore ``` 保存文件后重启 `systemd-logind` 服务以应用更改: ```bash sudo systemctl restart systemd-logind ``` ### 2. 禁用通过图形界面的挂起选项 如果使用的是 GNOME 桌面环境,可以通过 GNOME 的设置工具来禁用挂起功能。安装 `dconf-editor` 工具并运行: ```bash sudo apt install dconf-editor dconf-editor ``` 导航到路径 `/org/gnome/settings-daemon/plugins/power/`,然后将 `sleep-inactive-ac-timeout` 和 `sleep-inactive-battery-timeout` 设置为 `0` 以禁用自动挂起。 ### 3. 完全移除挂起功能 如果希望完全禁用挂起功能,可以通过创建一个自定义的 `systemd` 服务来覆盖默认行为。创建一个新的服务文件: ```bash sudo nano /etc/systemd/system/disable-suspend.service ``` 添加以下内容: ```ini [Unit] Description=Disable Suspend [Service] Type=oneshot ExecStart=/bin/systemctl mask sleep.target [Install] WantedBy=multi-user.target ``` 启用并启动该服务: ```bash sudo systemctl enable disable-suspend.service sudo systemctl start disable-suspend.service ``` 此操作会阻止系统进入挂起状态,并且无法通过任何命令或快捷键触发挂起。 ### 4. 禁用通过内核参数 如果需要在系统启动时就完全禁用挂起功能,可以在 GRUB 配置中添加内核参数。编辑 `/etc/default/grub` 文件: ```bash sudo nano /etc/default/grub ``` 修改 `GRUB_CMDLINE_LINUX` 行以添加 `mem_sleep_default=deep` 参数: ```ini GRUB_CMDLINE_LINUX="... mem_sleep_default=deep" ``` 更新 GRUB 配置: ```bash sudo update-grub ``` 这种方法会直接影响系统的内存睡眠模式,从而限制挂起功能的行为。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值