Sự kiện con trỏ chuột ở Textbox

Liên hệ QC

NguyenNgocSon

KEEP WALKING
Tham gia
4/4/08
Bài viết
280
Được thích
832
Nghề nghiệp
Ths. Cầu hầm
Em có nội dung cần thực hiện trên form như file đính kèm như sau
Mong mọi người cho ý kiến
Cám ơn !
 

File đính kèm

  • Su kien Textbox.rar
    39.5 KB · Đọc: 38
Em có nội dung cần thực hiện trên form như file đính kèm như sau
Mong mọi người cho ý kiến
Cám ơn !

1> Chèn 1 Class (tên là Class1) với code
Mã:
Public WithEvents tbx As MSForms.TextBox
Public WithEvents cmd As MSForms.CommandButton
Private Sub cmd_Click()
  Dim tmp As String
  tmp = Cal.tbxActive.Text
  tmp = tmp & cmd.Caption
  Cal.tbxActive.Text = tmp
End Sub
Private Sub tbx_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Set Cal.tbxActive = tbx
End Sub
2> Code trong UserForm (Cal)
Mã:
Dim tbxObj() As New Class1
Dim cmdObj() As New Class1
Public tbxActive As MSForms.TextBox
Private Sub UserForm_Initialize()
  Dim n As Long, m As Long
  Dim Ctrl As Control
  For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Then
      n = n + 1
      ReDim Preserve tbxObj(1 To n)
      Set tbxObj(n).tbx = Ctrl
    ElseIf TypeOf Ctrl Is MSForms.CommandButton Then
      If Ctrl.Caption Like "#" Then
        m = m + 1
        ReDim Preserve cmdObj(1 To m)
        Set cmdObj(m).cmd = Ctrl
      End If
    End If
  Next
  Me.TextBox6.SetFocus
  Set tbxActive = Me.TextBox6
End Sub
Xong!
 
Upvote 0
Làm xong mà cứ "hồi hộp" và "chờ đợi"
- "Đại ca" bận gì đó nên chưa vào xem?
- Nếu "Đại ca" đã xem thì có áp dụng được không?
- Nếu "Đại ca" áp dụng chưa được thì hổng biết là chưa được chổ nào?
vân vân....
Ôi... nhiều câu hỏi quá (mà hồng thấy "Đại ca" nói gì)
 
Upvote 0
Làm xong mà cứ "hồi hộp" và "chờ đợi"
- "Đại ca" bận gì đó nên chưa vào xem?
- Nếu "Đại ca" đã xem thì có áp dụng được không?
- Nếu "Đại ca" áp dụng chưa được thì hổng biết là chưa được chổ nào?
vân vân....
Ôi... nhiều câu hỏi quá (mà hồng thấy "Đại ca" nói gì)
Thành thật xin lỗi thầy. Em bận đi công tác, nơi đó không có mạng nên giờ mới lên HN em vào xem ngay. Em vừa check xong.Một số vấn đề phát sinh:
1.Khi trỏ chuột vào Textbox A: Click vào các button, ví dụ 1 thì ở Textbox A=11 => Lỗi không đúng ý
2.Khi trỏ chuột vào Textbox B: Click vào các button, ví dụ 1 thì ở Textbox B=1 => Đúng ý nhưng ở Textbox A giá trị lại bằng giá trị cũ và giá trị mới nghĩa là: Textbox A=Textbox A &Textbox B => Không đúng ý
Nội dung chính em muốn là: Khi trỏ chuột ở Textboxt A thì click vào các nút dữ liệu sẽ được điền ở Textbox A.Khi trỏ chuột ở Textboxt B thì click vào các nút dữ liệu sẽ được điền ở Textbox B và Textbox A không được kích hoạt.
Cám ơn rất nhiều !
 
Lần chỉnh sửa cuối:
Upvote 0
Một số vấn đề phát sinh:
1.Khi trỏ chuột vào Textbox A: Click vào các button, ví dụ 1 thì ở Textbox A=11 => Lỗi không đúng ý
2.Khi trỏ chuột vào Textbox B: Click vào các button, ví dụ 1 thì ở Textbox B=1 => Đúng ý nhưng ở Textbox A giá trị lại bằng giá trị cũ và giá trị mới nghĩa là: Textbox A=Textbox A &Textbox B => Không đúng ý

Nếu người ta đã nói:

2> Code trong UserForm (Cal)
Dim tbxObj() As New Class1
Dim cmdObj() As New Class1
Public tbxActive As MSForms.TextBox
Private Sub UserForm_Initialize()
Dim n As Long, m As Long
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Then
n = n + 1
ReDim Preserve tbxObj(1 To n)
Set tbxObj(n).tbx = Ctrl
ElseIf TypeOf Ctrl Is MSForms.CommandButton Then
If Ctrl.Caption Like "#" Then
m = m + 1
ReDim Preserve cmdObj(1 To m)
Set cmdObj(m).cmd = Ctrl
End If
End If
Next
Me.TextBox6.SetFocus
Set tbxActive = Me.TextBox6
End Sub

thì có nghĩa là code trong Form "vỏn vẹn" chỉ có thế. Tức ngoài code đó ra không còn một tí gì nữa, dù là dấu chấm. Tức những code trước đó nếu có thì phải xóa đi, đập đi, hủy đi, đốt đi, vứt đi ...
-------------
"Code trong UserForm" <> "Thêm vào Code trong UserForm"

Suy nghĩ một chút đi bạn. Người ta nói: suy nghĩ không đau. Đừng sợ.
 
Lần chỉnh sửa cuối:
Upvote 0
Thành thật xin lỗi thầy. Em bận đi công tác, nơi đó không có mạng nên giờ mới lên HN em vào xem ngay. Em vừa check xong.Một số vấn đề phát sinh:
1.Khi trỏ chuột vào Textbox A: Click vào các button, ví dụ 1 thì ở Textbox A=11 => Lỗi không đúng ý
2.Khi trỏ chuột vào Textbox B: Click vào các button, ví dụ 1 thì ở Textbox B=1 => Đúng ý nhưng ở Textbox A giá trị lại bằng giá trị cũ và giá trị mới nghĩa là: Textbox A=Textbox A &Textbox B => Không đúng ý
Nội dung chính em muốn là: Khi trỏ chuột ở Textboxt A thì click vào các nút dữ liệu sẽ được điền ở Textbox A.Khi trỏ chuột ở Textboxt B thì click vào các nút dữ liệu sẽ được điền ở Textbox B và Textbox A không được kích hoạt.
Cám ơn rất nhiều !

Tôi chỉ copy code rồi paste vào ---> Có thấy vấn đề gì như bạn nói đâu chứ
(chắc là "vấn đề" giống anh siwtom nói rồi)
 

File đính kèm

  • Su kien Textbox.xls
    69.5 KB · Đọc: 17
Upvote 0
Web KT
Back
Top Bottom