[問題] 拖曳文件到視窗程式任何區域 (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