I don't see anything in that blog to suggest it is not useful purposes other than drag operations. One comment says...
"We use LockWindowUpdate for avoiding extensive redraw operations when reorganizing child windows/controls in an window. Without it you can see the windows changing position, with it you don't and you just go from one layout to the new one without flickering." It sounds like the best method is to use DeferWindowPos but that looks much more difficult to use. Ross. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sean Cross Sent: Tuesday, 13 November 2007 3:49 p.m. To: Borland's Delphi Discussion List Subject: RE: Way to paint the screen once, instead of multiple times for control resizing? Don't use LockWindowUpdate. See http://blogs.msdn.com/oldnewthing/archive/2007/02/21/1735472.aspx Regards Sean Cross Chief Information Officer Catalyst Risk Management Ltd PO Box 230 50 Dalton St Napier 4140 DDI: 06-8340362 mobile: 021 270 3466 Visit us at http://www.catalystrisk.co.nz/ Offices in Auckland, Napier, Wellington, Christchurch & Queenstown Disclaimer: "The information contained in this document is confidential to the addressee(s) and may be legally privileged. Any view or opinions expressed are those of the author and may not be those of Catalyst Risk Management Ltd. No guarantee or representation is made that this communication is free of errors, viruses or interference. If you have received this e-mail message in error please delete it and notify me. Thank you." > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Ross Levis > Sent: Tuesday, 13 November 2007 3:12 p.m. > To: 'Borland's Delphi Discussion List' > Subject: RE: Way to paint the screen once, instead of multiple times > for control resizing? > > You can prevent all screen paints for a window by using the Windows API > LockWindowUpdate(). > > LockWindowUpdate(Form1.Handle); > ..do processing.. > LockWindowUpdate(nil); > > Ross. > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf > Of Chuck Belanger > Sent: Tuesday, 13 November 2007 8:11 a.m. > To: Delphi Listserve > Subject: Way to paint the screen once, instead of multiple times for > control > resizing? > > Hello: > > In a number of components there is a BeginBusy, EndBusy type of > property > that allows one to block out any screen updates (or other changes) > until > the EndBusy is reached. I have a program I'm working on that when it > starts and a number times during its use a number of controls need to > be > resized and it looks really messy as they start jumping around on > screen! > > Is there any way I can do something like > Screen.BeginBusy....Screen.EndBusy? to keep the update at the end of a > block of screen control changes with painting, that way avoid a number > of incremental changes, instead having one screen repaint for all the > changes? > > Thank you for any suggestions, > > Chuck Belanger > > _______________________________________________ > Delphi mailing list -> Delphi@elists.org > http://lists.elists.org/cgi-bin/mailman/listinfo/delphi _______________________________________________ Delphi mailing list -> Delphi@elists.org http://lists.elists.org/cgi-bin/mailman/listinfo/delphi _______________________________________________ Delphi mailing list -> Delphi@elists.org http://lists.elists.org/cgi-bin/mailman/listinfo/delphi