It could very well be a 2005+ thing, or possibly specific versions of Mac OS X, but there are definitely problems on my machine. The moved event simply fires too much (e.g. if you pause during the drag), the left/top properties don't update immediately after the move, and non- composite metal windows just plain don't drag properly. There may be other problems I haven't run into yet, but those are the issues I specifically worked around with that class.

Frank.
<http://developer.chaoticbox.com/>

On 9-Jan-07, at 10:55 PM, Tom Benson wrote:

Frank,

Just got off the readme of your custom class, and I'm a bit befuddled.

I've used this tag in a number of cases and have yet to experience problems with moved/resize events in my windows. This is under 5.5.5

Is/Was something changed under 2005+, or have I just been lucky??

- Tom

On 10/01/2007, at 2:47 PM, Frank Condello wrote:


On 9-Jan-07, at 7:48 PM, Tom Benson wrote:

James,

Just out of curiosity, if you flip the windows asynchronous window attribute to be on, does the timer still not fire until you let go of the mouse??

This code should make window events fire (and timers and threads within the window) continue to fire even with the mouse down. I'm not sure if the windows execution is interrupted still a control receives the event, but if the window receives the event (click, drag, whatever) then I can verify that this works fine from within RB 5.5.5 and up.

Cheers,
Tom Benson

Declare Function ChangeWindowAttributes Lib "Carbon" (window as WindowPtr, setTheseAttributes as Integer, clearTheseAttributes as Integer) as Integer

  if b then

    If GesaltLib.IsPanther() Then
      call ChangeWindowAttributes(w, 8388608, 0) //asynchronous on
    else
      call ChangeWindowAttributes(w, 0, 8388608) //asynchronous off
    end

  End If

All this switch does is allow stuff to run while dragging the window around. You can manipulate canvases and the window directly without affecting timers even without this switch, but standard RB controls will block in both cases. Also note that RB windows break in a few other ways when using that attribute. I have an AsyncDragWindow class available that avoids these problems: <http://developer.chaoticbox.com/realbasic_classes.php>



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

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to