私はD2009を使用しています。私はTWinControlから派生したマウスパニングを追加したいコンポーネントを持っています。新しいコントロールスタイル、csPannable、新しいコントロールステート、csPanningがあることがわかります。私はそれを理解しようとするためには、VCLのソースを見てきましたが、これまでのところ私は少し失われています。誰もがこれについてのドキュメントを知っていますか?どんな提案やリンクも大変ありがとうございます!Delphi 2009でカスタムコンポーネントのマウスパニングを行う方法
2
A
答えて
1
TWinControlを定義するのと同じユニットに、TControlの実装があります。マウスイベントとプロシージャの定義方法を参照してください。あなたのコンポーネントでマウスメッセージをキャプチャしようとすることができます。あなたはこの
procedure TPanControl.WMLButtonDown(var Message: TWMLButtonDown);
begin
Self.Color := clYellow;
end;
procedure TPanControl.WMLButtonUp(var Message: TWMLButtonUp);
begin
Self.Color := clbtnFace;
end;
procedure TPanControl.WMMouseMove(var Message: TWMMouseMove);
var
State : TKeyboardState;
begin
GetKeyboardState(State);
if ((State[VK_LBUTTON] And $80) <> 0) then begin
Self.Color := clOlive;
end;
end;
テストいくつかのバリエーションのような何かを行うことができます実装では
procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;
procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
:プライベートな宣言で
:
はこれを試してみてください。 この簡単なコードを使用すると、マウスイベントを捕捉できます。これらの手順では、マウスイベントを起動するか、何らかの操作を行ってパンエフェクトを作成することができます。
関連する問題
- 1. Delphi 2009のソースウィザードをインストールする方法
- 2. Delphi 2009のデザインパターン
- 3. Delphi 2009リファクタリングエラー
- 4. Delphi 2009でrcファイルからリソースライブラリを構築する方法は?
- 5. Delphi 2009でJITデバッガを設定する方法は?
- 6. Delphi 2009で静的変数を宣言する方法は?
- 7. Delphi 2009がDelphi 7プロジェクトの再構築構成を変換する方法
- 8. Delphi 2009とメモリのコピー
- 9. COMサーバーDelphi 2009のAnsiStringパラメータ
- 10. Delphi 2009の汎用リンクリスト
- 11. Delphi 2009で最新のビルドインディ10をインストール
- 12. Delphi 2009(とおそらくDelphi 2010)QTP
- 13. Delphi 2009:VistaのWindowsサービスとデスクトップアプリケーションの通信方法
- 14. スタンドアロンDBExpress接続エディタ(Delphi 2009)
- 15. GroupViewは、Delphi 2009年に
- 16. Delphi 2009 - UTF8でプリンタコマンドを送信
- 17. Delphi 2009で画像の現在の表示サイズを取得する方法
- 18. Delphi 2009でPDFファイルを表示する最適な方法は何ですか
- 19. Delphi 2009 - オブジェクトインスペクタのカスタム列挙型のプロパティ
- 20. dcc32.cfgを使用するDelphi 2009コマンドラインコンパイラ?
- 21. Delphi 2009でPansiCharをPcharにキャストする方法がありますか
- 22. Delphi 2009を使用してMicrochip PIC USB DLLを呼び出す方法
- 23. カスタムコンポーネントのスタイルシートでカスタムコンポーネント変数を使用する方法は?
- 24. 同じコンポーネントをインストールするDelphi 2009とDelphi XEで動作しない
- 25. Delphi 2009の下でディスクに文字列を保存する
- 26. delphi 2009/2010でC#Genericsを使用するには?
- 27. delphi 2009でgifアニメーションファイルを作成しますか?
- 28. Delphi 2009のRTLバージョン番号は何ですか?
- 29. Windows Vista 64ビットのコマンドラインからDelphi 2009でコンパイル
- 30. Delphi 2009ではsqrtがまだ遅いですか?
私が述べたように、私は組み込みのパンニングサポートとインターフェースを取ろうとしています。 – MarkF