PEGAR CONTEUDO DA AREA DE TRANSFERENCIA
Boa Tarde Amigos
Vou utilizar as teclas F5/F6 para jogar o conteudo de um TextBox para a Area de Transferencia e joga-lo em outro TextBox.
Ja sei como fazer isso.
O problema e que pegarei o conteudo de um TextBox especifico e precisarei joga-lo em um TextBox,cujo nome eu nao sei,pois podera ser qualquer um do formulario.
Gostaria de saber como jogar esse conteudo para o TextBox que estiver com o SetFocus,ou seja o TextBox ativo em determinado momento.
Obrigado e um Abraço
Vou utilizar as teclas F5/F6 para jogar o conteudo de um TextBox para a Area de Transferencia e joga-lo em outro TextBox.
Ja sei como fazer isso.
O problema e que pegarei o conteudo de um TextBox especifico e precisarei joga-lo em um TextBox,cujo nome eu nao sei,pois podera ser qualquer um do formulario.
Gostaria de saber como jogar esse conteudo para o TextBox que estiver com o SetFocus,ou seja o TextBox ativo em determinado momento.
Obrigado e um Abraço
Na verdade é bem fácil isso que você quer
coloquei tudo oque você precisa, a função esta dentro do time,já coloquei copiando da área de transferência
Finalize o tópico se foi útil para você. Um grande abraço
Option Explicit
[ô]
Private Declare Function GetForegroundWindow Lib [Ô]user32[Ô] () As Long
Private Declare Function IsWindow Lib [Ô]user32[Ô] (ByVal hWnd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib [Ô]user32[Ô] (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function AttachThreadInput Lib [Ô]user32[Ô] (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Private Declare Function GetFocus Lib [Ô]user32[Ô] () As Long
[ô]
Public Function WindowHasFocus(hWndOfInterest As Long) As Boolean
WindowHasFocus = (hWndForeground = hWndOfInterest) Or (hWndOfFocus = hWndOfInterest)
End Function
Public Function hWndForeground() As Long
hWndForeground = GetForegroundWindow
End Function
Public Function hWndOfFocus() As Long
Dim foreWindowThread As Long
Dim hwndFore As Long
[ô]
hwndFore = GetForegroundWindow
If IsWindow(hwndFore) = 0 Then Exit Function
[ô]
foreWindowThread = GetWindowThreadProcessId(hwndFore, ByVal 0&)
[ô]
If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 1&
hWndOfFocus = GetFocus()
If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 0&
End Function
Private Sub Timer1_Timer()
If WindowHasFocus(Text1.hWnd) = [Ô]True[Ô] Then
Label1.Caption = [Ô]caixa 1 selecionada[Ô]
Text1 = Clipboard.GetText(vbCFText)
End If
If WindowHasFocus(Text2.hWnd) = [Ô]True[Ô] Then
Label1.Caption = [Ô]caixa 2 selecionada[Ô]
Text2 = Clipboard.GetText(vbCFText)
End If
If WindowHasFocus(Text3.hWnd) = [Ô]True[Ô] Then
Text3 = Clipboard.GetText(vbCFText)
End If
End Sub
coloquei tudo oque você precisa, a função esta dentro do time,já coloquei copiando da área de transferência
Finalize o tópico se foi útil para você. Um grande abraço
Option Explicit
[ô]
Private Declare Function GetForegroundWindow Lib [Ô]user32[Ô] () As Long
Private Declare Function IsWindow Lib [Ô]user32[Ô] (ByVal hWnd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib [Ô]user32[Ô] (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function AttachThreadInput Lib [Ô]user32[Ô] (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Private Declare Function GetFocus Lib [Ô]user32[Ô] () As Long
[ô]
Public Function WindowHasFocus(hWndOfInterest As Long) As Boolean
WindowHasFocus = (hWndForeground = hWndOfInterest) Or (hWndOfFocus = hWndOfInterest)
End Function
Public Function hWndForeground() As Long
hWndForeground = GetForegroundWindow
End Function
Public Function hWndOfFocus() As Long
Dim foreWindowThread As Long
Dim hwndFore As Long
[ô]
hwndFore = GetForegroundWindow
If IsWindow(hwndFore) = 0 Then Exit Function
[ô]
foreWindowThread = GetWindowThreadProcessId(hwndFore, ByVal 0&)
[ô]
If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 1&
hWndOfFocus = GetFocus()
If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 0&
End Function
Private Sub Timer1_Timer()
If WindowHasFocus(Text1.hWnd) = [Ô]True[Ô] Then
Label1.Caption = [Ô]caixa 1 selecionada[Ô]
Text1 = Clipboard.GetText(vbCFText)
End If
If WindowHasFocus(Text2.hWnd) = [Ô]True[Ô] Then
Label1.Caption = [Ô]caixa 2 selecionada[Ô]
Text2 = Clipboard.GetText(vbCFText)
End If
If WindowHasFocus(Text3.hWnd) = [Ô]True[Ô] Then
Text3 = Clipboard.GetText(vbCFText)
End If
End Sub
Faça seu login para responder