Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Drawing lines
Message
De
10/05/2008 05:42:22
 
 
À
10/05/2008 05:11:12
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Titre:
Divers
Thread ID:
01316207
Message ID:
01316208
Vues:
11
This message has been marked as a message which has helped to the initial question of the thread.
>Hi All,
>
>I have a form. At runtime I add a bunch of objects to the form, mainly rectangular shapes. I then want to draw some lines over those shapes using THISFORM.LINE(X,Y) method.
>
>Pseudo code 1:
>
>
>THISFORM.LOCKSCREEN=.T.
>ADDOBJECT( shapes )  &&  mulitple shapes added
>THISFORM.LINE(X,Y)   &&  multiple lines needed
>THISFORM.LOCKSCREEN=.F.
>
>
>In the above example either no lines are shown or they are shown but behind the shapes even though the shapes were drawn/added first.
>
>Pseudo Code 2:
>
>
>THISFORM.LOCKSCREEN=.T.
>ADDOBJECT( shapes )  &&  mulitple shapes added
>THISFORM.LOCKSCREEN=.F.
>
>THISFORM.LOCKSCREEN=.T.
>THISFORM.LINE(X,Y)   &&  multiple lines needed
>THISFORM.LOCKSCREEN=.F.
>
>
>In this example again no lines are drawn or they incorrectly appear behind the shapes.
>
>However, if I introduce an INKEY() between the two operations the lines appear correctly and on top of the shapes as desired. i.e.;
>
>Pseudo Code 3:
>
>
>THISFORM.LOCKSCREEN=.T.
>ADDOBJECT( shapes )
>THISFORM.LOCKSCREEN=.F.
>
>INKEY(0.01)
>
>THISFORM.LOCKSCREEN=.T.
>THISFORM.LINE(X,Y)
>THISFORM.LOCKSCREEN=.F.
>
>
>Substituting DOEVENTS for the INKEY() does not work. Only using INKEY() (or probably some other wait state I assume).
>
>
>Why?

Jos,

I think foxpro does not process the screen redraw until it has some time (IdleState). The inkey() gives foxpro the time to process those things

Maybe try thisform.Draw() instead of inkey(). If this works you can try it in pseude code 1

ps: there was a thread some time ago about a label not sizing immediately after the caption was reassigned. I answered I had used an inkey()
Gregory
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform