許多支援檔案開啟的軟體如vs、notepad, word,通常都支援滑鼠拖拽檔案到應用軟體窗體實現快速開啟檔案。 本節裡我們也模仿這個功能的實現.
要完成此功能大體思路:
1. 窗體需要支援ws_ex_acceptfile 這個屬性;
2. 通過處理wm_drapfiles訊息使用dragqureyfile, draygetfilelist函式即可得到拖入窗體的檔案及資料夾,用drayclose釋放資源。
一、**演示
case
wm_dropfiles:
else
_tcscat
(sztemp
, szfilepath
);senddlgitemmessage
(hwnd
, idc_lstwndlist
, lb_addstring
, 0, (
lparam
)sztemp);}
} dragfinish
(hdrop);}
break;}
二、**分析
wparam -- 返回hdrop 物件
lparam -- not used
2. uint dragqueryfile(hdrop hdrop, uint ifile, lptstr lpszfile, uint cch)
hdrop - wm_dropfilesr wparam 返回的物件
ifile - 指定被拖入窗體的檔案列表的索引
lpszfile – 指定檔案列表索引的檔案路徑緩衝
cch - lpszfile 緩衝大小
功能1. 當ifile為0xffffffff且lpszfile 為null時, 返回被拖入窗體的檔案數;
功能2. 當ifile為檔案列表索引(0~被拖入窗體的檔案數)時, 將檔案列表中索引為ifile的路徑儲存到lpszfile中;
功能3. 當ifile為檔案列表索引(0~被拖入窗體的檔案數)cch為0時,返回檔案列表中索引路徑的長度.
3. void dragfinish(hdrop hdrop)
hdrop - wm_dropfilesr wparam 返回的物件
功能: 釋放hdrop物件資源
演示**
幾日行蹤 003
您做過這類軟體嗎?聽見這些話的時候感覺是被問 先生您是 嗎?國內做這類的應該是屈指可數的,也可以說有 的人都不會貪圖他們這幾萬的承包費 真的很難理解他們,難道他們不知道這個軟體的價值嗎?純技術價值不是很大,但是商業價值應該在定位在百萬左右 他們是需要這樣的專案進行開發,進行銷售,但是內部沒有熟悉這類...
shell程式設計003
命令列表 and列表 結果 因為file one存在所以echo命令得以執行,應為echo總是返回true的,所以將會執行 後面的命令,可以file two不存在所以整個if語句返回false,則執行else or列表 結果 if後面的語句執行到true時就不再執行了。結合使用的魅力 f file ...
技術部落格003
從qobject qobject.h 原始碼中可以看到qobject connect的定義是這樣的 cpp view plain copy static bool connect const qobject sender,const char signal,const qobject receive...