Information générale
Catégorie:
Programmation Orientée Object
Versions des environnements
Network:
Windows 2008 Server
>>>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
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement