Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

focus on a text field

 [1/2] from: gschwarz::netconnect::com::au at: 13-Jun-2003 14:04


I have two text fields, one is for keyboard input, the other is used for dynamic data. When there is some dynamic data is inputed, the focus goes from one text field to the othere and back again. The problem is when it goes back to the keyboard input field, all the text is hightlighted, and when you key the next char all the text is replaced. I would like to know how to get the cursor back to the end of the text your keying in? view layout [ dynamic: area 350x200 keyboard: field 350x32 ] focus keyboard Regards, Greg Schwarz.

 [2/2] from: carl::cybercraft::co::nz at: 24-Dec-2003 22:20


On 13-Jun-03, Greg Schwarz wrote:
> I have two text fields, one is for keyboard input, the other is used > for dynamic data.
<<quoted lines omitted: 9>>
> ] > focus keyboard
Hi Greg, If you do a... probe first system/view at the console, you'll notice two words: highlight-start and highlight-end. They're words indexed to the start and end of highlighted text. So, one way to un-highlight text is to have... highlight-start: highlight-end in your code. To have it happen when a face is focused, you could modify the focus function like I have below. If you look at the source of focus, you'll see that the last thing it does is a... show face By inserting a word (focus-check) before that I've made it call a function before it shows the face, the function un-highlighting the text if the focus is on the keyboard face. So, here's the code... rebol [] focus-check: does [ if same? keyboard system/view/focal-face [ system/view/highlight-start: system/view/highlight-end ] ] ; Add 'focus-check word to 'focus function ;------------------------------------------ if 'focus-check <> first skip tail second :focus -3 [ insert skip tail second :focus -2 [focus-check] ] ; Test ;------ view layout [ dynamic: area 350x200 keyboard: field 350x32 "Test" field 350x32 "Normal field" do [focus keyboard] ] Hope that helps. -- Carl Read

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted