OSDN Git Service

プレビューの位置が、画面の端を越えたときの処理を修正
authorh677 <h677>
Sun, 27 Aug 2006 10:19:01 +0000 (10:19 +0000)
committerh677 <h677>
Sun, 27 Aug 2006 10:19:01 +0000 (10:19 +0000)
Giko.pas

index fa8c1db..a218b76 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -4934,12 +4934,18 @@ begin
 
     FPreviewBrowser.PreviewImage(FPreviewURL);
 
-       if ARect.Bottom > Screen.DesktopHeight then
-               ARect.Top := Screen.DesktopHeight - (ARect.Bottom - ARect.Top);
-       if ARect.Right > Screen.DesktopWidth then
-               ARect.Left := Screen.DesktopWidth - (ARect.Right - ARect.Left);
-       if ARect.Left < Screen.DesktopLeft then ARect.Left := Screen.DesktopLeft;
-       if ARect.Bottom < Screen.DesktopTop then ARect.Bottom := Screen.DesktopTop;
+       if ARect.Bottom > Screen.DesktopHeight then begin
+        OffsetRect(ARect, 0, -(ARect.Bottom - Screen.DesktopHeight));
+    end;
+       if (ARect.Right > Screen.DesktopWidth) then begin
+        OffsetRect(ARect, -(ARect.Right - Screen.DesktopWidth), 0);
+    end;
+       if (ARect.Left < Screen.DesktopLeft) then begin
+        OffsetRect(ARect, +(Screen.DesktopLeft - ARect.Left), 0);
+    end;
+       if (ARect.Top < Screen.DesktopTop) then begin
+        OffsetRect(ARect, 0, (Screen.DesktopTop - ARect.Top));
+    end;
 
        SetWindowPos(FPreviewBrowser.Handle, HWND_TOPMOST,
         ARect.Left, ARect.Top,