2011-06-21 43 views
1

我想创建一个按钮来输入“0”值到文本框中。VB6 SendKeys问题

Private Sub cmd0_Click() 
    PvCurPaidAmt.SetFocus 
    PvCurPaidAmt.SelStart = Len(PvCurPaidAmt) + 1 
    PvCurPaidAmt.SelText = "0" 
End Sub 

现在的问题是我必须要改变文本框pvcurenccy由第三方提供的API texbox,不支持的SelStart和SelText功能,所以我不能使用上面的代码。

我想使用的SendKeys:

Private Sub cmd0_Click() 
    PvCurPaidAmt.SetFocus 
    SendKeys "0" 
End Sub 

现在的问题是它不与下一光标继续。我正在尝试做屏幕上的keyborard正在做的事情。请帮忙。谢谢。

+0

你是什么意思:它不会继续下一个光标?你的意思是“0”没有输入?还是打字,但你被送出焦点?请添加更多详细信息 – Ahmad

回答

0

如果我正确理解你的话,当把焦点设置到PvCurPaidAmt控件时,你不能确定光标将在字符串的末尾(或者整个字符串没有被选中或者突出显示)。

如果PvCurPaidAmt控制有.text的属性,你可以这样做:

PvCurPaidAmt.Text = PvCurPaidAmt.Text & "0" 

如果没有,第一次的SendKeys光标发送到最后:

SendKeys "{END}", True ' it will force the app to wait till the keys are processed 

然后

SendKeys "0"