Here is a function that I made just for the occasion.. CLEAR LOCAL DIM @tempRect& LOCAL FN ForceWndRefresh CALL SETRECT (tempRect&,0,0,WINDOW(_width),WINDOW(_height)) CALL INVALRECT (tempRect&) END FN = tempRect& FN ForceWndRefresh In a message dated 2/15/01 11:11:45 AM, paul_bruneau@... writes: >Hi everyone- > >I am 100% certain that I have always gone about screen refreshing the >wrong way. I won't go into detail, but basically, when the user does >something that I figure should warrant a refresh, then I call my refresh >routine. > >I have read enough over the last couple years that I have figured out >that I should let the OS decide when something needs to be refreshed. >That is fine, but there are cases, where I need to say, redraw something >after a user changes a menu item. The OS won't know it, but my program >will. So I guess I am supposed to manually "invalidate" the area of the >screen that needs the redraw, then the system will go "hey, that area >needs to be redrawn" and will send the proper event to my program to do >it. > >So assuming that I kind of know how it should be done theoretically, is >there a good place I should look to learn the appropriate toolbox/FB >calls to do this? If the resource has a good solid description of the >process so I can be sure I understand, that would be a bonus. > >Thanks! > >PB Best, Matthew Beedle Foxchange Software http://www.foxchange.com