>Fred,
>
>It's because calling the method doesn't trigger the actual event. When you call and event method of another object the only code that executes is the overridden method code of the class tree.
>
>It's the BaseClass handling of the event that actually causes the .Value to have the keystroke added to it. When you are "in the event" and you call TextBox::KeyPress(..) it's a subtle difference, the BaseClass processes the event. If you don't put a NODEFAULT in you'd end up getting a second character in .Value when the automatic internal call happens.
>
>You can use the KEYPRESS command to cause events to occur.
>
Ok, David. I think I've got it now. But don't you mean KEYBOARD command, since the only thing I find on KEYPRESS is the events for forms/textboxes/etc?
>>I have a question for you concerning BaseClass::Method() calls: Why can't I get this to work in a form's KeyPress event? If I want to override the value trapped in a TextBox by the form's KeyPress (.KeyPreview=.t.) using NODEFAULT and Form::KeyPress(ASC('X'),0) it doesn't work. I get no character showing at all in the textbox. If I put the similar code (TextBox:KeyPress(ASC('X'),0)) in the MyTextBox.KeyPress event, it works. It also does not work with the DODEFAULT(ASC('X'),0) syntax, either.