Subject Re: [IBO] Flicker with IBObjects and EnhComponents
Author Leandro Timóteo de Oliveira
Thank´s Geoff, everything is perfectly working now.

Really i should have sought more in the help online. Error of
beginner. :)

The only problem now is with the property Ctl3DShallow. When this is
in True still the fliccker happens, not in Labels, but in the edits.
I believe that will have to use Ctl3DShallow in False.

Once again thank you.
Leandro.

--- In IBObjects@yahoogroups.com, Geoff Worboys <geoff@t...> wrote:
> > I use the property AutoLabel of the components TIB_EditEnh
> > and in the operations of Insert, Cancel, Search, etc, the
> > form raises all of the labels, causing an uncomfortable
> > slowness. A Flicker in cascade, that begins of the top of
> > the form and it is going to his bottom, traveling all of
> > TIB_EditEnh.
>
> > Does some exist sorts things out of avoiding that behavior?
>
> I have not seen the problem myself, and I have some quite
> complex forms. I generally use a Kind of albLeft with a
> RelativePosition of -100. This works well for me.
>
> However, a long while ago someone else reported similar
> difficulties and I implemented a feature that can be used
> to alleviate the problem. The following is from the online
> help (you have to know where to look :-)...
>
> - - -
> In some configurations AutoLabels attached to controls can show
> some redraw flicker (particularly when attached to detail
> datasets of master/detail arrangements). This cannot be easily
> avoided without stopping the labels from updating when actually
> needed. So instead this global variable has been provided to
> allow you to take control of the problem within your own
> project.
>
> For most projects you will be able to prevent unnecessary
> redrawing of the autolabels simply by including the following
> line in the OnCreate event of the main form (you will need
> IBC_Label in the uses clause):
> IB_AutoLabel_PreventFlicker := true;
>
> However with the above change, if you make changes to dataset
> or connection properties at runtime, then you may discover that
> the autolabels are not updating as they should. In such cases
> you may have to alter the section of your code where you alter
> those properties so that:
>
> IB_AutoLabel_PreventFlicker := false;
> try
> ...your code...
> finally
> IB_AutoLabel_PreventFlicker := true;
> end;
>
> This will allow all label update requests to take place while
> your code is executed, but turn off unnecessary updates when
> you have finished.
>
> The above code is not required with direct changes to the
> AutoLabel itself, as these will detect such changes and force
> the label to be updated.
> - - -
>
> I hope this helps.
>
> --
> Geoff Worboys
> Telesis Computing