Delphi 4에서 TscrollBox 컨트롤 내에서 TImage 컨트롤을 사용하고 있습니다. 여기에 따라 높이를 늘려 TImage 컨트롤의 데이터를 채 웁니다.TImage 컨트롤 제한을 극복하십시오.
내 기능은 X, Y 매개 변수를 사용하여 해당 레코드를 강조 표시하여 유효성을 검사하는 mousedown 이벤트를 기반으로합니다.
X, Y는 정수형 매개 변수이며 -32768에서 32767 사이의 값을 반환합니다. 내 레코드가 32767 높이를 초과 할 때 문제가 발생합니다. Mousedown 이벤트가 Y 값을 음수로 반환하면 내 기능에 문제가 발생합니다.
이 문제를 해결하려면 두 가지 방법이 있습니다,
어떤 해결 방법이 문제를 해결합니다.
델파이 4의 다른 내장 구성 요소를 대신 사용합니다.
아래에 언급 된 것처럼 하나의 더티 접근법 (이 경우도 올바르지 않지만 현재는 작동 중임)을 알고 있지만 더 나은 해결책을 찾고 있습니다.
if Y < 0 then
begin
Y := Y + 65536;
end
else
begin
if ScrollBox1.VertScrollBar.Position > 32767 then
Y := Y + 65536;
end;
는 마우스 좌표가 보통 WMMouseMove 메시지에서 파생 된
때때로 두 개의 마우스 코드가 32 비트 int에 포장되어 있지 않습니까? 그렇다면 이것은 내재적입니다. –
여기 간단한 테스트에서 스크롤 상자의 높이를 32767 이상으로 설정할 수 없습니다. 어떻게 할 수 있습니까? –
32k x 32k 픽셀보다 큰 이미지를로드하는 중입니까? –