|
发表于 2024-8-8 16:20:04
|
显示全部楼层
**
你找到完美的解决办法了吗?
我只能通过失去焦点 获取焦点来实现,
就是先在超级编辑框上面放一个透明标签置顶把超级编辑框覆盖住,拖拽控件在透明标签上可以触发拖拽文件进来(注册拖拽控件的时候记得是取透明标签句柄)
成功拖拽后超级编辑框获取焦点(获取焦点事件中让透明标签禁止=真,这样就不会限制超级编辑框的操作)
超级编辑框失去焦点事件里添加透明标签禁止=假(只要透明标签不被禁止就能够拖拽文件进来)
在启动窗口失去焦点事件里添加别的组件获取焦点(这样就能让超级编辑框失去焦点,当你点击文件不松去拖拽的时候超级编辑框不会失去焦点,这个时候透明标签是被禁止的所以无法实现拖拽文件进来,但是只要鼠标在启动窗口外点击任何地方启动窗口都会失去焦点,所以这个时候就可以利用这一点转移焦点)
然后设置透明标签鼠标被移动事件超级编辑框获取焦点(如果点击别的控件时超级编辑框会失去焦点,这个时候透明标签没有被禁止,被透明标签挡住后超级编辑框就获取不了焦点,所以在透明标签鼠标移动事件中让超级编辑框获取焦点让透明标签禁止)
虽然看起来麻烦一点,但是在超级编辑框拖拽文件进来的操作上没有任何问题 |
|