Delphi 4 の TScrollBox コントロール内で TImage コントロールを使用しています。ここでは、それに応じて高さを増やして TImage コントロールにデータを入力しています。
私の機能は、そのレコードを強調表示していくつかの検証を行うために X、Y パラメータを使用しているマウスダウン イベントに基づいています。
ここでの問題は、X、Y が整数型パラメーターであり、-32768 から 32767 の間の値を返すことです。レコードの高さが 32767 を超えると問題に直面します。Mousedown イベントが Y 値を返すのは、私の機能に負の原因があるためです。
この問題を解決するには 2 つの方法があります。
この問題を解決するための回避策。
Delphi 4 の別の組み込みコンポーネントを代替として使用する。
以下で説明するように、1つの汚いアプローチを知っています(これも正しくないが、現在は機能している可能性があります)が、より良い解決策を探しています。
if Y < 0 then
begin
Y := Y + 65536;
end
else
begin
if ScrollBox1.VertScrollBar.Position > 32767 then
Y := Y + 65536;
end;
この問題のより良い解決策をアドバイスしてください