我想通過使用鼠標將它移動到位置來對齊X和Y中的對象。我可以通過使用各種旋轉控件(或按鈕)來滾動一個解決方案,但它很混亂,我不得不想知道是否有一個控制器 - 例如操縱桿 - 它使用鼠標提供了2軸控制,並以不同的速率觸發事件它的位置?是否有德爾福的「操縱桿」控件?
回答
Afaik Jedi(jedi apilib?)也有一個搖桿頭。它是winapi,而不是COM,所以沒有TLB參與
這就是我一直在尋找的感謝。 – 2010-01-06 16:38:15
我谷歌搜索「操縱桿DLL」,發現無數。您可以將其中的一個引入到您的項目中,然後通過簡單地編寫一個TLIB頭文件(或者其它所謂的函數,暫時沒有這樣做)來訪問Delphi的C API。
TLB用於COM,而不是普通的程序winapi。 – 2010-01-06 12:57:49
對,你確定。我記得有一個用來在C代碼中聲明過程的Pascal頭文件,但我忘記了它們的正確名稱。 – 2010-01-06 13:28:33
您可以使用DelphiX組件。據我所知,它們是DirectX的包裝器,其中一個包裝DirectX操縱桿接口。它以Delphi風格包裝,因此易於使用。
也許你可以自己做類似的東西。
- 採取面板,並在鼠標註冊向上,向下和移動事件
- 上的MouseDown,設置一個布爾(fButtonDown),所以你知道mousebutton按下並保存X和的MousePointer的Y座標。
- 在MouseMove上,檢查按鈕是否關閉(fButtonDown)並移動對象。你的mousecursor從其保存的位置移動的越多,移動的速度就越快。
- 上的MouseUp,設置fButtonDown假
以上是非常簡陋,但應該工作。
是的,它很誘人,謝謝。 – 2010-01-06 16:37:43
嘗試NLDJoystick,我寫的基於純WinAPI(MMSystem.pas)的開源組件。它可以從SVN服務器here下載。
接口:
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property AbsCenter;
property AbsMax;
property AbsMin;
property Active default False;
property Advanced default False;
property AxisCount;
property Axises;
property ButtonCount;
property HasPOV;
property ID;
property OnButtonDown;
property OnButtonUp;
property OnMove;
property OnPOVChanged;
property PollingInterval default 40;
property RepeatButtonDelay default 350;
property RepeatMoveDelay default 350;
property SuspendScreensaver default False;
property ThresholdFactor;
- 1. 是否有德爾福XE
- 2. ChucK操縱桿控制
- 3. 德爾福TObjectDictionary有
- 4. 德爾福AnsiString操縱 - PAnsiChar變得腐敗?
- 5. 德爾福的Draggable選項卡控件?
- 6. 德爾福HID Delphi7和德爾福XE2
- 7. 德爾福v.Word - 如何從德爾福
- 8. 德爾福與.NET的互操作性
- 9. 德爾福7德爾福XE2 res文件問題
- 10. DES_KEY_SZ德爾福
- 11. 德爾福Application.HintColor
- 12. 德爾福
- 13. 德爾福
- 14. 與德爾福
- 15. 德爾福
- 16. 德爾福:TRegExpr
- 17. 類德爾福
- 18. 德爾福:什麼是Application.Handle?
- 19. 什麼是dxGDIPlusClasses.dcu? (德爾福)
- 20. 德爾福的TQuery
- 21. 德爾福(dbExpress的)
- 22. QR碼組件德爾福
- 23. 德爾福DBTree組件
- 24. 德爾福IRC組件
- 25. 德爾福7和事件
- 26. 無效指針操作 - 德爾福XE
- 27. 德爾福字節操作和Java
- 28. 的Android NDK操縱桿事件
- 29. 操縱桿死區計算
- 30. Python3閱讀USB操縱桿
你有沒有考慮讓使用箭頭鍵來微調您的目標的位置(如在Word,Photoshop中,等等)? – 2010-01-06 09:45:33
是的,這就是目前的做法,但當你靠近時,當然沒有「好」的動作。 – 2010-01-06 16:36:27