Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ctrl + z

Postades av 2002-03-14 20:10:45 - Stefan Bergh, i forum visual basic - allmänt, Tråden har 2 Kommentarer och lästs av 445 personer

Hur gör man en funktion så man kan ångra det man gjort i en RichTextBox?

Den heter Text1 om det är till någon hjälp =)


Svara

Sv: ctrl + z

Postades av 2002-03-14 21:42:49 - John Alfredsson

Okeej jag kan inte någon snabb funktion för att göra det men här
är mitt bidrag som krånglar väldigt, och med ett svagt försök till
att kunna hantera backspace som misslyckades... jag har tyvärr
inte tid att ändra och försöka få det att funka men du kan ju använda
detta som grund och försöka experimentera med själv!

Private Sub Command1_Click()
On Error Resume Next
If mode = 1 Then Text1.Text = Mid$(Text1.Text, 1, Len(Text1.Text) - redoChrs): mode = 0
If mode = 2 Then Text1.Text = Text1.Text & redoWord: mode = 0
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
On Error Resume Next
Dim newTime As Long
newTime = Timer
If KeyAscii > 32 And KeyAscii < 257 Then
mode = 1
If newTime < 2 + pressTime Then redoChrs = redoChrs + 1: pressTime = newTime Else redoChrs = 0: pressTime = newTime
tmpText1 = Text1.Text
End If
GoTo 20
If KeyAscii = 8 Then 'backspace
If tmpText1 = "" Then GoTo 10
If newTime > 1 + pressTime Then
redoChrs = 0
mode = 2
redoWord = redoWord + Mid$(tmpText1, Len(tmpText1) - 1, 1)
pressTime = newTime
Else
redoChrs = 0
mode = 2
redoWord = Mid$(tmpText1, Len(tmpText1) - 1, 1)
pressTime = newTime
End If
10
End If
20
End Sub

och lägg denna i en modul:
Global pressTime As Long, redoWord As String, redoChrs As Integer, mode As Integer, tmpText1 As String


ok, det är buggar i den jag vet: 2 kända du kan försöka fixa:

1: om du skriver in "Jag heter john alfredsson" utan att hacka
och tar Ångra så stannar "Jag" kvar....
2: backspace, klistra in, delete fungerar inte!


Exemplet sparar allt du skrivit under de senaste 2 sekunderna,
och när du ångrar tar den bort det! Så om du skriver något, tar
en paus på 3 sek och fortsätter kommer bara det som är efter
pausen försvinna vid ångra!

att få denna kod att fungera blir nog däremot ett litet helvete...
du kan ju kolla om det finns nåt api för det...

mvh
John


Svara

Sv: ctrl + z

Postades av 2002-03-15 12:22:03 - Andreas Hillqvist

Dessa api anrop kan vara till hjälp.
<code>
Option Explicit

Private Const EM_CANUNDO As Long = &HC6&
Private Const EM_UNDO As Long = &HC7&
Private Const EM_EMPTYUNDOBUFFER As Long = &HCD&

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

Public Sub CMDUndo(TextBox As Object)
If TypeOf TextBox Is TextBox Or TypeOf TextBox Is RichTextBox Then
SendMessage TextBox.hwnd, EM_UNDO, 0&, ByVal 0&
End If
End Sub

Public Function CMDCanUndo(TextBox As Object) As Boolean
If TypeOf TextBox Is TextBox Or TypeOf TextBox Is RichTextBox Then
CMDCanUndo = SendMessage(TextBox.hwnd, EM_CANUNDO, 0&, ByVal 0&)
End If
End Function

Public Sub CMDEmptyUndoBuffer(TextBox As Object)
If TypeOf TextBox Is TextBox Or TypeOf TextBox Is RichTextBox Then
SendMessage TextBox.hwnd, EM_EMPTYUNDOBUFFER, 0&, ByVal 0&
End If
End Sub
</code>


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 873
27 965
271 770
397
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies