Le 10 mai 07 à 19:17 Soir, Octave Julien a écrit:

> Hi all,
>
> In a basic multiline EditField, I was trying to figure out the  
> position
> of the caret (the insertion point). This number is displayed in  
> another
> EditField (ef2).
>
> FIRST PROBLEM :
> In the case the user clicks into the EditField. I've put...
> In the mouseDown event :
>       return true
>
> in the mouseUp event :
>       self.ef2.text=str(me.CharPosAtXY(X,Y))
>
> The number displayed in efNb is right, but the caret doesn't move at
> all.

When you return true in the MouseDown event, the event is stopped in  
the events chain.
Why don't you simply put self.ef2.text=str(me.CharPosAtXY(X,Y)) in  
the MouseDown event?

> SECOND PROBLEM :
> If the user moves the caret with the keyboard arrows, the only  
> function
> I can use is selStart(), with :
>
>       self.ef2.text=str(me.SelStart)
>
> The problem is that selStart() doesn't work properly. The returned
> number can decrease when you move the caret one character to the  
> right,
> increase when you move it to the left, and is even weirder when you
> move the caret one line up or down.
> I wrote the following bug report :
> http://www.realsoftware.com/feedback/viewreport.php?reportid=fhgugvhk

That's normal. SelStart is the number of characters from the first  
character to where the insert point is. So, if you move up to one  
line, SelStart will decrease to <number of characters per line>.

> IF YOU WANT TO REPRODUCE THIS BUG :
> -Lay down two EditFields, ef1 and ef2. Set ef1 to multiline.
> -Put in the keyDown event of ef1 :
>       self.ef2.text=str(me.selstart)
> -Run the app, write a few lines in ef1, and move the cursor with the
> mouse or with the arrows.
>
>
> ANY HINT ?
> Maybe the first problem comes from my handling of events. But the
> second one is clearly a bug. One could argue that selStart's main
> function is to select a bit of text by code, and not to return the
> position of the caret. But then, how can I get the position of the
> cursor ?
> Any help or workaround would be really appreciated, for both problems.

Don't you confuse with the SelLength property?

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to