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

Reply via email to