私はマウスホイールを使用してズームするために Google Earthに類似したコンポーネントを書きたいと思っています。コンポーネント内のDelphiマウスホイールイベント
StretchDrawは、ビットマップと私は理解してどのような形
に部品領域の位置を取得しようとしていることをより良いオプションがあり、私はonMouseWheelを使用してコンポーネントを持っていると私はプロパティMaxZoom MinZoomとズームを持っていますtCustomformが見つかるまで各親を見つけて、オブジェクトの位置を見つけるためにオブジェクトの位置を取得するためにすべてのコンポーネントの上部とコンポーネントを追加します。もっと良い方法があります
私はその場所をいったん持っています。マウスが私のオブジェクトの上にあってズームする場所なら、マウスカーソルの位置からズームすることができます。
は、それはあなたがズームしようとしているコンテンツの種類に依存するコード下さい
マウスホイールメッセージが常にマウスの下のウィンドウに移動するとは限らないため、これはコンポーネントで確実に実行できるとは思いません。私の観察では、ホイールメッセージは「フォーム」ウィンドウにのみ送信されることがあり、マウスの下のウィンドウにのみ表示されることもあります。この問題に対する私の回避策は、フォームウィンドウから関連する子コンポーネントにメッセージを転送することでした。子コンポーネントでは、重複した起動を避けるためにいくつかのコードを書きました。問題は、私の解決策にはフォームからのコラボレーションが必要なため、「自己完結」ではないということです。 –
[TGraphicControlを継承したコンポーネントにマウスホイールを追加する方法](http://stackoverflow.com/a/34463279/757830)、[フォーカスの代わりにカーソルの下でマウスホイールの入力を制御する方法は? ](http://stackoverflow.com/a/34386680/757830)。 – NGLN