Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Set focus without using setfocus()
Message
From
27/02/2004 11:13:35
 
 
To
26/02/2004 21:25:27
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivia
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00881299
Message ID:
00881501
Views:
41
To "Setfocus" to another control using the return value from the valid event is made more acceptable using the this control / that control offset technique like this:
textbox::valid

do case
  Case Ok = .t.
    RetVal = 1
  Case Ok = .f.
    RetVal = 0
  case goto_textname
    retval = this.tabindex - this.parent.textname.tabindex
  case goto_texttype
    retval = this.tabindex - this.parent.texttype.tabindex
  case goto_ComboYear
    retval = this.tabindex - this.parent.ComboYear.tabindex
endcase
return retval
Glenn

>>I agree with your approach of doing a form level valid completely. And we are moving to doing more of this.
>>However our large existing app has around 400 forms - so it would be quite a task at this stage.
>
>Yes, that looks like a lot of work.
>
>>So we've taken to KEYBOARDing CHR(9) s to workaround the setfocus issue. But this is a horrible kluge.
>
>That should be more or less equivalent to valid (number). Also a kludge: in both cases you have to count objects, and adjust if you insert additional objects.
>
>BTW, with the KEYBOARD command, I think you can also use "{TAB}" instead of chr(9). This might make it more readable.
>
>As a workaround, if you can't SetFocus() within the Valid() event, you might postpone it with a Timer (with a brief interval). But I don't know whether this works; perhaps the Valid() will then fire again.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform