Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Container in Toolbar won't refresh
Message
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00699322
Message ID:
00699675
Views:
19
Alex, thanks very much ! See below.

>Hi Peter,
>
>Try one of these:
>
*** The below can't work for a Toolbar objct. Left is read only you know.

ContainerReference.Left = ContainerReference.Left
&& OR
ContainerReference.Move( ContainerReference.Left)

*** The above just does the trick ! Obviously no flickering at all.
*** Note : No LockScreen = .F. or otherwise needed anymore !
Thanks again,
Peter


>
>This will cause repainting of the container object.
>
>HTH
>
>>Guess what ...
>>Somewhere deep down in the code of this class, I found this :
>>
>>*** Caused by a bug in VFP, the change to the SpecialEffect in the
>>*** Container on the toolbar won't show. Btw, it's just that, and all
>>*** of the other dynamic stuff just shows. When a Show() is applied,
>>*** the SpecialEffct setting does show.
>>*** Because I found the toolbar flickering because of this (at the moving
>>*** of the mouse over the buttons), I came to the "solution" of applying
>>*** a LockScreen is .F. Though note : it WAS already .F.
>>
>>*THISFORM.Show()             && No good. Flickers.
>>THISFORM.LockScreen = .F.    && THISFORM is the Toolbar.
>>
>>
>>And today it appeared that this beuatiful solution didn't help anymore.
>>IOW, in VFP7 this doesn't help and in VFP5 it did.
>>But, what does help now, is preceeding the LockScreen = .F. with a
>>LockScreen = .T.
>>Sadly a slight flicker is visible, though not as much as with the Show().
>>
>>Note that when LockScreen is set to .T. explicitly, the then overlapping
>>of another Win-task (see below in the original message) behaves very
>>different. Hence, It's not some LockScreen status causing it, but just the
>>special making it re-live.
>>In between I tried all other means upon the individual objects in the
>>container, and really nothing helped (no draw() etc.). Making the object
>>invisible helped though, for the "buttons" to the right of the one made
>>invisible. This is because from that point on the toolbar had to be
>>repainted. So that lead me to the comment of 09/23/2000 above.
>>
>>Cheers.
>>Peter
>>
>>>I am not sure if it is to be described as in the title, but here is the weird thing :
>>>
>>>I have buttons on a toolbar, consisting of
>>>
>>>Container
>>>  Container
>>>    Label
>>>    Label
>>>
>>>Now, I can't get the SpecialEffect (=0) at the top level container to work from within method code (it's 2 (flat) originally). That is, not from within any of the objects in this hierarchy, not even the top level container itself.
>>>
>>>I already saw that it needs "some" trigger, because if I, for instance, let the .SpecialEffect = 0 preceede by a .BackColor = xxx, sometimes it works. It doesn't matter whether the original trigger is a MouseMove (as it was designed), a MouseEnter, a Click, ... nothing works. But :
>>>
>>>It works perfectly alright in VFP5, and after some hours of getting dizzy I found this :
>>>
>>>When I, AFTER applying the SpecialEffect = 0, let the button overlap with the form of another Win-task, and remove it again (say alt-tab), the risen button shows. But worse : it only shows for that part the other task overlapped it !
>>>
>>>Hence, it is a refresh/paint/lockscreen/whatever graphical issue, and even knowing this, I can't get it to work.
>>>Unless you have the idea what I can do to solve this anomaly, there is something seriously wrong here.
>>>
>>>Thanks of any possible help !
>>>Peter
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform