禁止 WM_DROPFILES
发布日期:2021-06-30 22:06:17
浏览次数:3
分类:技术文章
本文共 1739 字,大约阅读时间需要 5 分钟。
今天要迁入OLE拖拽文件的处理, 但是DuiLib默认生成的窗口是支持文件拖拽的.
就是默认生成的窗体, 都可以拖动文件进来, 鼠标光标都有拖拽的+号图标, 都会进入WM_DROPFILES消息的处理.
我得先做掉WM_DROPFILES的来源, 这样, 我再用OLE拖拽时, 我才能分清楚, 是否OLE拖拽处理生效了~
Demo 工程 : 用于演示如何禁止 WM_DROPFILES
编译环境 : vs2010 vc++ + DuiLib
工程下载点:工程预览:
/**LRESULT WindowImplBase::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){LONG styleValue = 0;styleValue = GetStyle();::SetWindowLong(*this, GWL_STYLE, styleValue);styleValue = GetExStyle();::SetWindowLong(*this, GWL_EXSTYLE, styleValue);*//// CMainDlg::GetExStyle 是虚函数, 在WindowImplBase::OnCreate中被调用, 用来设置扩展窗口风格LONG CMainDlg::GetExStyle(){ long dwStyle = __super::GetExStyle(); /// 禁止接受文件拖拽 dwStyle &= ~WS_EX_ACCEPTFILES; /// 禁止产生任务栏图标 dwStyle |= WS_EX_TOOLWINDOW; dwStyle &= ~(WS_EX_APPWINDOW); return dwStyle;}LRESULT CMainDlg::WndMessageProc(UINT uMsg, WPARAM wParam, LPARAM lParam){ BOOL bNeedDefaultProcess = FALSE; do { switch (uMsg) { /// 如果窗口的扩展风格 WS_EX_ACCEPTFILES 被禁止, 是接受不到 WM_DROPFILES 消息的 /// 同时, 拖动文件到CMainDlg时, 图标是禁止样式的图标 case WM_DROPFILES: OutputDebugStringW(L""); break; case WM_CREATE: bNeedDefaultProcess = TRUE; break; case WM_SWITCH_VIEW: switch_view((e_view_index)wParam); break; case WM_CLOSE: EntryUiDestory(TRUE); ThreadProcEnd(); bNeedDefaultProcess = TRUE; break; default: bNeedDefaultProcess = TRUE; break; } if (bNeedDefaultProcess) return __super::WndMessageProc(uMsg, wParam, lParam); else return S_OK; } while (0); return S_OK;}
也可以用 DragAcceptFiles 一句搞定 WM_DROPFILES 的允许或禁止.
转载地址:https://lostspeed.blog.csdn.net/article/details/47339841 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年05月02日 08时27分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
mysql的安装与卸载与Navicat远程连接
2019-04-30
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
libuv实现ping包发送和接收
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
月薪15~20k的前端面试问什么?
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2021-07-03
Mysql 之主从复制
2019-04-30
【工具使用】新版CSDN-markdown编辑器使用指南
2019-04-30
【NLP学习笔记】中文分词(Word Segmentation,WS)
2019-04-30
【超越白皮书7】你需要知道关于ETH2.0的几个事实
2019-04-30
对于时间复杂度的通俗理解
2019-04-30