0
我從proc COM服務器啓動一個對話框,對話框中有一些拖放控件操作。經過一些研究發現,該對話框必須在STA線程中啓動。我設法做到了這一點,但對隨後的對話有一些副作用。所以,計劃在不使用內置操作的情況下執行Dragdrop操作。即。通過處理鼠標事件和切換光標,天氣是可行的。DragDrop註冊沒有成功異常
我從proc COM服務器啓動一個對話框,對話框中有一些拖放控件操作。經過一些研究發現,該對話框必須在STA線程中啓動。我設法做到了這一點,但對隨後的對話有一些副作用。所以,計劃在不使用內置操作的情況下執行Dragdrop操作。即。通過處理鼠標事件和切換光標,天氣是可行的。DragDrop註冊沒有成功異常
我發現在將AllowDrop屬性設置爲false後不能實現自定義拖放操作。原因:從一個控件拖動時 - 其他控件的鼠標事件不會被觸發。 IE中。在一個表單中拖動1個按鈕到另一個面板:即使鼠標懸停/鼠標移動了表單/目標面板的dint也會被觸發。
在進程外服務器顯示用戶界面的過程中受到了傷害。這樣的窗戶與你自己的窗戶完全沒有任何關係。 Adobe軟件吸這麼多東西的很大原因。但是,在不同進程擁有的窗口之間拖放很少會成爲問題。爲什麼你想破解這個不清楚。 –
我的拖放在窗口內。 (我猜)因爲從OutofProc服務器顯示對話框顯示對話框的線程是在MTA導致例外http://img836.imageshack.us/img836/5928/jferror.png我不想引入一個單獨的STA線程顯示對話框 - 這就是爲什麼想要嘗試實現自定義拖放與鼠標事件。 – user1066231
是HansPassant - 正如你所說,在進程外服務器顯示UI時會有一個受傷的世界。我現在正在掙扎(不幸的是,我們不得不按照它來啓用我們的32位Addin for 64位辦公軟件)。 – user1066231