Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Du vil ha Tilbake/Frem funksjon?

 

Er det i en tekstboks du mener? TextBox har den funksjonen innegynd, og jeg tror ikke man kan kalle den uten videre. Du kunne f eks simulert tastetrykk med keybd_event. API:

Public Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Lenke til kommentar

Jeg sier ikke at det ikke går, men at du ikke kan kalle dem uten videre. Det finner bare ikke noe .GoBack-funksjon i en TextBox, men den er innebygd.

 

Slik kan du kalle funksjonen:

Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Command1_Click()

Text1.SetFocus

'Trykke ned knappene
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyZ, 0, 0, 0

'Slippe knappene
keybd_event vbKeyControl, 0, &H2, 0
keybd_event vbKeyZ, 0, &H2, 0

End Sub

 

Edit: Samme greie med Ctrl-Y. Du bytter bare ut vbKeyZ med vbKeyY.

Edit: Nei, det funket vist ikke med Y.

Endret av Jonas
Lenke til kommentar

Ettersom en tekstboks i utgangspunktet kun støtter UNDO, er det ingen hensikt å lage en REDO-knapp. Men du kan fint kjøre undo-rutinen ved hjelp av SendMessage, omtrent som dette her:

 

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_UNDO = &HC7

Public Sub Undo(TextBox As TextBox)

   SendMessage TextBox.hwnd, EM_UNDO, 0&, ByVal 0&

End Sub

Private Sub Command1_Click()

   ' Erstatt 'text1' med din tekstboks
   Undo Text1

End Sub

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...