私はDelphi 4のTScrollBoxコントロール内でTImageコントロールを使用しています。ここでは、それに応じて高さを増やしてTImageコントロールのデータを設定しています。TImageコントロールの制限を克服
私の機能は、X、Yパラメータを使用してそのレコードを強調表示していくつかの検証を行うmousedownイベントに基づいています。
ここで、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;
両方のマウスコードが32ビット整数にパックされることはありませんか?もしそうなら、これは固有のものです。 –
ここでの簡単なテストでは、スクロールボックスの高さを32767以上に設定できません。どうすればいいですか? –
32k x 32kピクセル以上の画像を読み込んでいませんか? –