kostenloser Webspace werbefrei: lima-city


Text hinzufügen

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    l******e

    Hi,
    ich habe folgendes Problem:
    Ich weis zwar wie man einen Text in eine TextBox hinzufügt:
    ----------
    |Lol |
    |Lol |
    ----------
    Wenn ich meinen Normalen Code verwende zum hinzufügen (2) nehme schaut das so aus:
    ----------
    |Lol |
    |Lol2 |
    ----------
    Aber wenn ich mit der Maus hinter dem ersten Lol geklickt hab, kommt das selbe wie in dem 2ten Bild.
    Also / ist jetzt mal meine Maustaste (Schreiben)
    ----------
    |Lol/ |
    |Lol2 |
    ----------
    Und dann sollte es so ausschauen:
    ----------
    |Lol2 |
    |Lol2 |
    ----------
    Aber das geht ja nicht, kann mir jemand helfen?

    Beitrag geaendert: 19.1.2007 7:28:10 von lilwayne
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Code für VB.Net 2003:

    In der Textbox steht irgendein Text. Wenn du den Einfügecursor an eine andere Stelle in der Textbox setzt, wird an dieser Stelle der Zusatz eingefügt.



    Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown

    If Me.TextBox1.SelectedText = "" Then
    Dim Teil1 As String = Me.TextBox1.Text.Substring(0, Me.TextBox1.SelectionStart)
    Dim Teil2 As String = Me.TextBox1.Text.Substring(Me.TextBox1.SelectionStart)
    Dim Zusatz As String = "2"
    Me.TextBox1.Text = Teil1 & Zusatz & Teil2
    Me.TextBox1.SelectionStart = Teil1.Length + Zusatz.Length
    End If

    End Sub


    Ich hoffe, es ist das, was du gesucht hast ;)

    Beitrag geaendert: 19.1.2007 13:18:18 von cbhp
  4. Autor dieses Themas

    l******e

    Ne geht nicht!
    Ich hab Visual Basic 6!

    Beitrag geaendert: 19.1.2007 13:43:16 von lilwayne
  5. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Schon klar, dass der Code in VB 6 nicht geht.
    Aber wenn man ihn für VB 6 anpasst, dann schon:


    Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

    If Me.Text1.SelText = "" Then
    Dim Teil1 As String
    Teil1 = Left(Me.Text1.Text, Me.Text1.SelStart)
    Dim Teil2 As String
    Teil2 = Right(Me.Text1.Text, Len(Me.Text1.Text) - Me.Text1.SelStart)
    Dim Zusatz As String
    Zusatz = "2"
    Me.Text1.Text = Teil1 & Zusatz & Teil2
    Me.Text1.SelStart = Len(Teil1) + Len(Zusatz)
    End If

    End Sub
  6. Autor dieses Themas

    l******e

    Ne, du hast das falsch verstanden,
    ich hab rechts ein paar Buttons.
    Wenn man auf die draufklick fügt es dieses Zeichen in die TextBox hinzu!
    Und ich will
    das es das Zeichen da hinzufügt wo der Mousezeiger ist
  7. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    lilwayne schrieb:
    Ne, du hast das falsch verstanden,
    ich hab rechts ein paar Buttons.
    Wenn man auf die draufklick fügt es dieses Zeichen in die TextBox hinzu!
    Und ich will
    das es das Zeichen da hinzufügt wo der Mousezeiger ist


    Und wo ist das Problem? Das funktioniert auch mit dem Code, den ich geschrieben habe, musst nur beim Button einfügen...

    Also hier nochmal gaaaaaanz ausführlich:

    Button1
    Private Sub Command1_Click()
    Call Text_Bei_Marke_Einfügen("1")
    End Sub


    Button2
    Private Sub Command2_Click()
    Call Text_Bei_Marke_Einfügen("2")
    End Sub


    Funktion "Bei Marke einfügen"
    Private Function Text_Bei_Marke_Einfügen(ByVal Zusatz As String) As String
    If Me.Text1.SelText = "" Then
    Dim Teil1 As String
    Teil1 = Left(Me.Text1.Text, Me.Text1.SelStart)
    Dim Teil2 As String
    Teil2 = Right(Me.Text1.Text, Len(Me.Text1.Text) - Me.Text1.SelStart)
    Me.Text1.Text = Teil1 & Zusatz & Teil2
    Me.Text1.SelStart = Len(Teil1) + Len(Zusatz)
    Me.Text1.SetFocus
    End If
    End Function


    Das war doch gar nicht schwer, oder?

  8. Ne, du hast das falsch verstanden,
    ich hab rechts ein paar Buttons.
    Wenn man auf die draufklick fügt es dieses Zeichen in die TextBox hinzu!
    Und ich will
    das es das Zeichen da hinzufügt wo der Mousezeiger ist

    Dazu musst du erstmal rausfinden, wo der Mousezeiger überhaupt ist.
    Habe das ganze aus einem Buch oder Internet, kann es aber jetzt gerade nicht finden. Werde es reinposten, wenn ich es gefunden habe.
    Irgendwie so:

    Public Sub Cursorposition_ermitteln()

    Dim abytBuffer() As Byte

    'Cursor-Position ermitteln:
    lngCursorPos = SendMessage(lngHWnd, EM_GETSEL, 0, 0) \ &H10000

    'Zeilen-Index ermitteln:
    lngLineIndex = SendMessage(lngHWnd, EM_LINEFROMCHAR, lngCursorPos, 0)

    'Position des erstens Zeichens in Zeile ermitteln:
    lngFirstCharPos = SendMessage(lngHWnd, EM_LINEINDEX, lngLineIndex, 0)

    'Laenge der Zeile ermitteln:
    lngLineLength = SendMessage(lngHWnd, EM_LINELENGTH, lngFirstCharPos, 0)

    'Text in Zeile ermitteln:
    ReDim abytBuffer(lngLineLength)
    abytBuffer(0) = lngLineLength

    'SendMessage lngHWnd, EM_GETLINE, lngLineIndex, abytBuffer(0)

    ...
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!