vb中如何让文本框始终都得到焦点。还有其他几个问题·!! 50
如题。第一个问题就是如何在VB中让文本框始终得到焦点?第二个问题,我怎样才能点一个按钮就在文本框中加入一行文字,我用了text1.text=text1.text&"内容"...
如题。第一个问题就是如何在VB中让文本框始终得到焦点?
第二个问题,我怎样才能点一个按钮就在文本框中加入一行文字,我用了text1.text=text1.text & "内容",但效果不好,我就是想让他能在我按下撤销按钮后就删除最后一次加入的内容。
text1.text=text1.text & "内容"他是进行的变量操作,不可以发送撤销指令UNDO。
有没有高手指导一下怎么做!感激·!!
你们回答都不行,我试过了,.文本框始终获取焦点了之后就不能点其他的钮了..不过还是谢谢大家了!!! 展开
第二个问题,我怎样才能点一个按钮就在文本框中加入一行文字,我用了text1.text=text1.text & "内容",但效果不好,我就是想让他能在我按下撤销按钮后就删除最后一次加入的内容。
text1.text=text1.text & "内容"他是进行的变量操作,不可以发送撤销指令UNDO。
有没有高手指导一下怎么做!感激·!!
你们回答都不行,我试过了,.文本框始终获取焦点了之后就不能点其他的钮了..不过还是谢谢大家了!!! 展开
2个回答
展开全部
1. 文本框始终得到焦点
Private Sub Text1_LostFocus()
Text1.SetFocus
End Sub
2. Undo的实现
找了一篇文章给你,希望对你有所帮助。
-------------------------------------
用Visual Basic实现undo功能
一、设计思路
一般的字处理软件,如WPS Office、Word都有撤销功能,极大地方便了用户,可是这项功能用VB该如何实现呢?这就要用到SendMessage函数,该函数的功能就是向指定的窗口发送一条消息,他有4个参数,含义如下:
.hWnd:用来指定要接受消息的窗口的句柄;
.wMsg:用来指定要发送的消息的编号;
.wParam:用来指定消息的第一参数;
.1Param:用来消息的第二参数。
二、实战
新建一个EXE窗体,上面放置一个textbox、两个 commndbotton控件,名称分别为text1、command1、command2,caption分别为text1、撤销、退出,其他配置取默认值。
打开API阅览器,将函数SendMessage复制到窗体代码中。任何源代码如下:
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_CANUNDO = &HC6
Private Const EM_UNDO = &HC7
Private Sub Command1_Click()
Dim i As Integer
i = SendMessage(Text1.hwnd, EM_UNDO, 0, 0)
End Sub
Private Sub Command2_Click()
End
End Sub
在这个程式中,我们向文本框发送了一个EM_UNDO消息,该消息的功能是取消文本框的最后一个编辑操作。对于该消息,wParam和1Param均无用,故都设为0。
按F5看看效果吧,是不是有一种成就感。以上代码在windowsXP家庭版和VB6中文企业版下运行通过。
-------------------------------------
Private Sub Text1_LostFocus()
Text1.SetFocus
End Sub
2. Undo的实现
找了一篇文章给你,希望对你有所帮助。
-------------------------------------
用Visual Basic实现undo功能
一、设计思路
一般的字处理软件,如WPS Office、Word都有撤销功能,极大地方便了用户,可是这项功能用VB该如何实现呢?这就要用到SendMessage函数,该函数的功能就是向指定的窗口发送一条消息,他有4个参数,含义如下:
.hWnd:用来指定要接受消息的窗口的句柄;
.wMsg:用来指定要发送的消息的编号;
.wParam:用来指定消息的第一参数;
.1Param:用来消息的第二参数。
二、实战
新建一个EXE窗体,上面放置一个textbox、两个 commndbotton控件,名称分别为text1、command1、command2,caption分别为text1、撤销、退出,其他配置取默认值。
打开API阅览器,将函数SendMessage复制到窗体代码中。任何源代码如下:
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_CANUNDO = &HC6
Private Const EM_UNDO = &HC7
Private Sub Command1_Click()
Dim i As Integer
i = SendMessage(Text1.hwnd, EM_UNDO, 0, 0)
End Sub
Private Sub Command2_Click()
End
End Sub
在这个程式中,我们向文本框发送了一个EM_UNDO消息,该消息的功能是取消文本框的最后一个编辑操作。对于该消息,wParam和1Param均无用,故都设为0。
按F5看看效果吧,是不是有一种成就感。以上代码在windowsXP家庭版和VB6中文企业版下运行通过。
-------------------------------------
展开全部
1、
Private Sub Form_Load()
Text1.SetFocus
End Sub
Private Sub Text1_LostFocus()
Text1.SetFocus
End Sub
2、
Private Sub Command1_Click()
Text1 = Text1 & vbCrLf & neirong
End Sub
Private Sub Command1_Click()
Text1 = Text1 & vbCrLf & neirong
End Sub
Private Sub Command2_Click()
Dim r
r = Split(Text1, vbCrLf)
For i = 1 To UBound(r) - 1
Text1 = Text1 & vbCrLf & r(i)
Next i
End Sub
Private Sub Form_Load()
Text1.SetFocus
End Sub
Private Sub Text1_LostFocus()
Text1.SetFocus
End Sub
2、
Private Sub Command1_Click()
Text1 = Text1 & vbCrLf & neirong
End Sub
Private Sub Command1_Click()
Text1 = Text1 & vbCrLf & neirong
End Sub
Private Sub Command2_Click()
Dim r
r = Split(Text1, vbCrLf)
For i = 1 To UBound(r) - 1
Text1 = Text1 & vbCrLf & r(i)
Next i
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询