[问题] 拖曳文件到视窗程式任何区域 (BCB/VCL)

楼主: z1976 (z1976)   2017-08-25 01:02:49
开发平台(Platform): (Ex: Win10, Linux, ...)
Windows 10/x86
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
C++ Builder XE7
问题(Question):
首先... 我要问的问题是我前年做过的程式,完成品在此:
https://goo.gl/dcgrvu
这是支含简单加解密的文字编辑器
但是code搞丢了,最近要做些修改只好拿做到一半的版本来重制
目前写到一半的重制版的源码如下:
https://github.com/zackjtl/SecureEditor.git
(所以以下描述的档案拖曳功能是可以做出来的... 但是我忘记怎么写了)
程式中有一个空白的PageControl;可从外面拖曳程式进来 (或在argument中传入),
每一个档案各开一个TabSheet然后TabSheet中有嵌入一个Frame,
Frame中有档案选取按钮 (可以变更档案),和RichEdit用来编辑该档案
所以打开一个(或以上) 档案后.. 画面中会有如下阶层:
MainForm -> PageControl -> TabSheet -> Frame -> RichEdit
然后目前要解决的问题是档案拖曳到整个视窗区域都要有效.. 而不是只有局部有效
DragAcceptFiles有呼叫了,ChangeWindowsMessageFilter也有了
确实可以拖曳档案进来了,但差别在...
原先的完成版,无论拖曳档案到程式任何地方,
MainForm都可以收到WM_DROPFILES讯息。
但是重制的版本...
如拖曳到TabSheet所在区域,MainForm不会收到WM_DROPFILES讯息
如拖曳到RichEdit所在区域,还会出现禁止拖曳的光标图案。
我记得当初解决这个并没有很复杂... 只是就忘记怎么写了 囧
网络上怎么找也找不到我要的答案
烦请有经验的... 开示一下,感恩
楼主: z1976 (z1976)   2017-08-25 14:46:00
已经找到问题,是管理员权限下才会这样

Links booklink

Contact Us: admin [ a t ] ucptt.com