Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Refresh gets aborted by ZOrder
Message
De
17/10/2015 04:37:37
 
 
À
17/10/2015 03:27:07
Dragan Nedeljkovich (En ligne)
Now officially retired
Zrenjanin, Serbia
Information générale
Forum:
Visual FoxPro
Catégorie:
Programmation Orientée Object
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows 8
Network:
Windows 2008 Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01625937
Message ID:
01626055
Vues:
40
>>>Thanks for the explanation, it is unfortunate that it works this way thou, and it would have been nice if it was documented "Do not use ZOrder in the refresh of objects contained in a container if you want it to work properly" :)
>>
>>The documentation should not say what to do,
>>but must explain in great detail how the machine works
>>where running the program written by developers.
>>In the case of high-level languages, often those who create the environment
>>are reluctant to explain the backstage.
>>Enough say that all cycles are based on VFP's control index,
>>and that ZOrder (1) sets the control index to 1 and ZOrder (0) sets it to ControlCount.
>>This makes it clear that within a loop, ZOrder(1) makes the infinite loop
>>and ZOrder (0) stops him immediately.
>
>Just like the documentation never says that we shouldn't write a for-next loop to remove members of _screen.forms, or if we do why it should be done last-to-first.
>
>I've come to the same conclusion as you, and I think the reasoning behind it could be the order of painting the objects. The object with the lowest z-order is in the farthest background; the one with the highest is on top of everything else. So to cover the cases of transparent text, semi-transparent other objects etc etc it goes from rear to front. Once it reaches the topmost, it's done. Hugo just found a neat way to shortcircuit the process.
>
>I think it should still be possible to zOrder(0) the object he wants, but not from within the object's own .refresh() - perhaps the parent's would work.

Sure.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform