• 0

[vb .net] Find cursor position in textbox


Question

17 answers to this question

Recommended Posts

  • 0

Try: taken from http://www.vb-helper.com/howto_track_textbox_caret.html

Private Sub CheckPosition()

Dim char_pos As Long

Dim row As Long

Dim col As Long

char_pos = SendMessage(Text1.hwnd, EM_GETSEL, 0, 0)

char_pos = char_pos \ &H10000

row = SendMessage(Text1.hwnd, EM_LINEFROMCHAR, _

char_pos, 0) + 1

col = char_pos - SendMessage(Text1.hwnd, EM_LINEINDEX, _

-1, 0) + 1

lblPosition.Caption = "(" & Format$(row) & ", " & _

Format$(col) & ")"

End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As _

Integer)

CheckPosition

End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As _

Integer)

CheckPosition

End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As _

Integer, X As Single, Y As Single)

CheckPosition

End Sub

Private Sub Text1_MouseUp(Button As Integer, Shift As _

Integer, X As Single, Y As Single)

CheckPosition

End Sub

  • 0
  bangbang023 said:
meaning natively it doesn't have support for it. There are some work around "hacks" but it's not worth it just to simplify the current line number method.

584831062[/snapback]

do you mean drag and drop files into the richtextbox?

  • 0
  bangbang023 said:
yes. works fine with textboxes but after trying ot get it to work with richtext and looking online, it seems as though it's not as "accessible" as it is with textboxes.

584833023[/snapback]

why is not as accessible? I'm looking at the control and it supports d-n-d.

  • 0
  bangbang023 said:
I don't know, but it doesn't work at all for me.

584834030[/snapback]

May I see your DragDrop handler code?

<edit>I just got it to work dragging from a listbox to a richtextbox.

This is all i needed in the richtextbox DragDrop event handler

richTextBox1.SelectedText = e.Data.GetData("System.String", true).ToString();

  • 0

im dragging and dropping from explorer.......I have a textbox in a child form. I put the drag drop event in the parent form and t picks it up fine. Does not do so with the richtextbox. I tired localizing the drop drop code from the parent form to the childform and have it only read drag drop events on the richtextbox itself and still nothing. This is the code I'm using in the parent form:

Private Sub mainForm_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
        If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
            e.Effect = DragDropEffects.All
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub


    Private Sub mainForm_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop
        Dim number As Integer = noteArray.Count
        Dim title As String

        'get file name and location
        Dim s() As String = e.Data.GetData("FileDrop", False)

        Dim i As Integer = 0
        While i &lt; s.Length
            'creates a new notepad window
            Call createNewPad()

            title = s(i).Substring(s(i).LastIndexOf("\") + 1)
            noteArray(number).text = title
            Me.tabPads.TabPages(number).Text = title

            'open file and input text into txtMain
            Dim dragStream As New System.IO.FileStream(s(i), IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.Read)
            Dim dragReader As New System.IO.StreamReader(dragStream)
            noteArray(number).txtMain.text = dragReader.ReadToEnd
            dragReader.Close()
            dragStream.Close()

            noteArray(number).txtMain.select(0, 0)
            noteArray(number).fileNameExists = True
            noteArray(number).contentchanged = False
            noteArray(number).filenamesaved = s(i)
            number = number + 1
            i = i + 1
        End While

        'give focus to NexPad
        Me.Activate()
        noteArray(i).txtMain.focus()

    End Sub

Even when I specifically set it to the rich text box, still no go.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Lots of people use it without having an angsty Gotterdammerung.
    • Why certain models only? It should be provided on all high end phones.
    • I don't use it too (only for shutdown/restart), but it's because I have pinned all my frequently apps directly in the taskbar. For search files, I use the PowerToys Run app. But, I understand that a place where ALL apps are listed and available is needed.
    • The M4 Mac Mini with 16GB of RAM gets a massive discount by Taras Buria If you want to try macOS without spending over a thousand bucks on a MacBook Air or MacBook Pro, the Mac mini is a perfect choice, especially with a new discount that brought the price to a new all-time low—as low as $469, which is a very tempting deal, considering what the M4 Mac mini offers. The M4 Mac mini is the first Mac mini redesign in quite a few years. This tiny desktop computer features two front-facing USB-C ports and a headphone jack, plus an Ethernet port, HDMI, and three Thunderbolt 4 Type-C ports on the back. The computer is powered by a 10-core Apple M4 processor with 10-core graphics, which is one of the most powerful ARM processors for modern computers. You also get 16GB of unified memory and 256GB of fast SSD. Apple claims that this Mac mini is up to 13 times faster than the fastest Intel-based Mac mini. The M4 Mac Mini supports Apple's latest macOS version, like the recently announced macOS 26 Tahoe and all of its features, including Apple Intelligence capabilities. It is also a great choice if you need a versatile desktop PC that can run both Windows on ARM and macOS. Another benefit of this tiny PC is that it draws very little power while offering a powerful processor and graphics. The best part is that it is now 22% off, which saves you $170 off the MSRP ($599). Apple 2024 Mac mini with M4 chip, 16GB RAM, 256GB SSD - $469 | 22% off on Amazon US This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
  • Recent Achievements

    • Week One Done
      Wayne Robinson earned a badge
      Week One Done
    • One Month Later
      Karan Khanna earned a badge
      One Month Later
    • Week One Done
      Karan Khanna earned a badge
      Week One Done
    • First Post
      MikeK13 earned a badge
      First Post
    • Week One Done
      OHI Accounting earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      680
    2. 2
      ATLien_0
      276
    3. 3
      Michael Scrip
      208
    4. 4
      +FloatingFatMan
      172
    5. 5
      Steven P.
      143
  • Tell a friend

    Love Neowin? Tell a friend!