無法處理雙擊事件,該怎麼辦?

2022-04-15 06:29:42 字數 2008 閱讀 1687

無法處理雙擊事件,該怎麼辦? vcl元件開發及應用

自己編個文件管理小程式,介面布局是左邊乙個treeview,管理文件結構,右邊乙個twebbrowser控制項,負責顯示。當雙擊左邊的文件時,右邊顯示該文件;單擊其它文件時,清空顯示。普通文件沒有問題,如果當前顯示是word,excel等ole型別的文件時,雙擊其它文件時不能截獲雙擊事件,而將雙擊分割成兩個單擊事件處理,成了更改檔名的操作,如何處理這種情況?老大們給點建議,謝謝

與文件型別無關,肯定是你的**自己的問題,打死我也不信,treeview還這麼神,能夠自動識別word的檔案?呵呵

可能我沒說清楚,雙擊treeview下的文件節點時,在twebbrowser中顯示雙擊的文件,我現在碰到的問題實際上是,當twebbrowser當前顯示的文件為word,excel等ole文件時,想要雙擊其他文件節點進行顯示切換,但是由於這個過程中瀏覽器控制項先要關閉前乙個文件,然後再顯示新雙擊的文件,使得雙擊事件的兩次點選間隔被延遲,分成了兩個單擊事件進行處理,碰到這種情況該如何處理?將被分隔的兩個單擊事件還原成乙個雙擊事件進行處理,或者有其他更好的方法,謝謝~~

可能可以在單擊後等一下,判斷是否是雙擊然後再處理。。。   或者像辦法規避這個問題。。。

瀏覽器都是單擊的吧??是不是這個原因??如果讓我做的話,也只能像樓上那樣做了

你的關閉twebbrowser是寫在哪個事件裡的?

to   keyz:  

twebbrowser的關閉是寫在雙擊事件裡的~~  

首先是clearbrowser,   再執行關閉browser操作,並一直檢查browser狀態,因為browser的關閉是有乙個時延的,直到檢測browser狀態為關閉時,才根據新文件的url進行open操作。  

to   littlestone08:  

我所說的單擊雙擊事件都是針對treeview的節點而言的,browser只是根據treeview傳遞的url進行檔案開啟和顯示而已。

(1)單擊操作和雙擊操作的判斷,是由作業系統通過對滑鼠的取樣來確定而直接送給delphi系統,還是由delphi系統自己進行計算來評判?  

(2)因為我實際所進行的是雙擊操作(兩次單擊的時間間隔小於系統設定),而由於tbrowser進行ole文件操作的時延使程式雙擊操作解釋為兩次單擊操作,哪位達人對delphi單擊、雙擊事件的處理流程比較明白的,可否說明一下,就目前自己分析,當滑鼠雙擊時,系統事件處理應該是:  

(捕獲第乙個擊鍵)onmouseclick   ->   onmousedown   ->   。。。->   (捕獲第二次擊鍵)判斷為雙擊事件onmousedbclick->   ...  

當確定前面的流程為一次雙擊操作時,前面的流程如何實現?通過訊息堆疊儲存第一次點選訊息暫不處理,然後判斷為雙擊時拋棄前一次單擊訊息而不作單擊事件處理?  

想到啥寫啥,也不知對不對,請高手指點,呵呵

(1)單擊操作和雙擊操作的判斷,是由作業系統通過對滑鼠的取樣來確定而直接送給delphi系統,還是由delphi系統自己進行計算來評判?  

(2)因為我實際所進行的是雙擊操作(兩次單擊的時間間隔小於系統設定),而由於tbrowser進行ole文件操作的時延使程式雙擊操作解釋為兩次單擊操作,哪位達人對delphi單擊、雙擊事件的處理流程比較明白的,可否說明一下,就目前自己分析,當滑鼠雙擊時,系統事件處理應該是:  

(捕獲第乙個擊鍵)onmouseclick   ->   onmousedown   ->   。。。->   (捕獲第二次擊鍵)判斷為雙擊事件onmousedbclick->   ...  

當確定前面的流程為一次雙擊操作時,前面的流程如何實現?通過訊息堆疊儲存第一次點選訊息暫不處理,然後判斷為雙擊時拋棄前一次單擊訊息而不作單擊事件處理?  

想到啥寫啥,也不知對不對,請高手指點,呵呵

試了一下,但是無法重現你的問題。。  

測試了一下幾個事件,發現雙擊的時候順序是:  

mousedown  

click  

mouseup  

dblclick  

mousedown  

mouseup  

該怎麼辦呢?

純粹倒苦水求救文 畢業後去一家電子商務公司做 維護,剛去的時候說是 馬上要做好,我只管維護就可以,自己有幾斤幾兩我還是清楚的,維護湊合,讓我開發就別提了。是花錢請別人做的,因為公司之前的技術做的 不能用,所以 可以說是之前的技術全權負責這個 我到公司之後就負責維護 之前的技術不幹了。麻煩就麻煩在這 ...

我該怎麼辦!

今天是我比較難受的一天,發現有些事情不到最後是不知什麼結局,或許你的一萬種猜想沒有一種實現,哎,作業雖然交了,但我還是心裡難受,我懂得了很多,不應對別人抱太大希望,應該自己去努力,不論結果怎麼樣但心裡是甜的,不堅持到最後一刻,或許成功還是不屬於你,就像我們副部,何苦堅持那麼久,幹了那麼多事,挨罵也接...

我該怎麼辦

想了好久,不知道該怎麼辦,家裡情況這個樣子,如今真的不知道是去是留。父親癱瘓在床,母親有些神經不正常,我應該是去上學還是留下來照顧他們。說實話,我一點都不想留下來,我沒有這個毅力,沒有一直照顧父親的毅力,也許時間長了我會厭煩,不知道說出這種話是不是算很不孝,1月份我在醫院的時候就是一直呆在了父親身邊...