realbasic-nug
[Top] [All Lists]

Re: Keeping Windows on Screen Class

To: REALbasic NUG <realbasic-nug at lists dot realsoftware dot com>
Subject: Re: Keeping Windows on Screen Class
From: Terry Ford <tmford at shaw dot ca>
Date: Thu, 28 Feb 2008 16:56:14 -0800
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug at lists dot realsoftware dot com
References: <mailman dot 7335 dot 1204056361 dot 9216 dot realbasic-nug at lists dot realsoftware dot com> <p06240800c3ecf4f9629e at [192 dot 168 dot 0 dot 111]>
On Feb 28, 2008, at 3:41 PM, Stephen Dodd wrote:

> Anyone have/know of a good cross-platform class to keep a window on
> screen that works well across multiple monitors?

Here's some code that could possibly be modified for multiple  
screens. It's in the MouseDrag event of a window for screen(0) as is.

Sub MouseDrag(X As Integer, Y As Integer)

   // Drag Window
   Left = Left + (x - FirstX)
   Top = Top + (y - FirstY)

   // Keep Window onscreen
   If Top<Screen(0).AvailableTop+2 Then Top=Screen(0).AvailableTop+2

   If Left<Screen(0).AvailableLeft Then Left=Screen(0).AvailableLeft+2

   If (Top+Height)>Screen(0).AvailableHeight Then Top=Screen 
(0).AvailableHeight-Height+10

   If (Left+Width)>Screen(0).AvailableWidth Then Left=Screen 
(0).AvailableWidth-Width-2

End Sub

Terry

PS. I intended to make it for multiple screens but I never had any. :)

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>


<Prev in Thread] Current Thread [Next in Thread>