vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Erste Zeile in Richtextbox 
Autor: Holli
Datum: 15.04.06 09:59

Eventuell hilft Dir das weiter:

Public 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 Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
    End Type
    Public Const SB_VERT = 1
 
Public Const EM_GETRECT = &HB2
Public Const EM_GETSEL = &HB0
Public Const EM_LINEINDEX = &HBB
Public Const EM_LINELENGTH = &HC1
Public Const EM_GETFIRSTVISIBLELINE = &HCE
Public Const EM_LINEFROMCHAR = &HC9
Public Const EM_GETLINECOUNT = &HBA
Public Const EM_SCROLLCARET = &HB7
Public Const EM_UNDO = &HC7
Public Const EM_GETLINE = &HC4
Public Const EM_SCROLL = &HB5
Public Const EM_SETTABSTOPS = &HCB
 
Public Enum RichInfo
RichVisibleLines = 1
RichFirstVisibleLine = 2
RichCurrentLineNo = 3
RichCursorPosition = 4
RichCurrentLineFirstChar = 5
RichCurrentLineLength = 6
RichLineCount = 7
RichLineText = 8
End Enum
Public Function visiblelinescount(incontrol As RichTextBox)
    Dim FirstVisibleLine As Long
    Dim r As RECT
    Dim numberOfLines As Long
    Dim numberOfVisibleLines As Long
    Dim rectHeight As Long
    Dim lineHeight As Long
 
 
    FirstVisibleLine = SendMessage(incontrol.hwnd, EM_GETFIRSTVISIBLELINE, 0, 0)
 
        numberOfLines = SendMessage(incontrol.hwnd, EM_GETLINECOUNT, 0, 0)
        SendMessage incontrol.hwnd, EM_GETRECT, 0, r
        rectHeight = r.Bottom - r.Top
        lineHeight = incontrol.Parent.TextHeight("W") / Screen.TwipsPerPixelY
        numberOfVisibleLines = rectHeight / lineHeight
        If numberOfVisibleLines > numberOfLines Then
        numberOfVisibleLines = numberOfLines
        End If
 
    visiblelinescount = numberOfVisibleLines - 1
End Function
 
Public Function GetRichData(Rich As RichTextBox, Getdata As RichInfo)
 
 
Dim FirstVisibleLine As Long
Dim VislibleLines As Long
Dim CurrentLine As Long
Dim CursorPos As Long
Dim nLine As Long
Dim FirstChar As Long
Dim RowLength As Long
Dim Buffer() As Byte
Dim LineText As String
Dim Lines() As String
Dim numberOfLines As Long
 
VisibleLines = visiblelinescount(Rich)
FirstVisibleLine = SendMessage(Rich.hwnd, EM_GETFIRSTVISIBLELINE, 0, 0)
CursorPos = SendMessage(Rich.hwnd, EM_GETSEL, 0, ByVal 0&) \ 65536
nLine = SendMessage(Rich.hwnd, EM_LINEFROMCHAR, CursorPos, ByVal 0&)
FirstChar = SendMessage(Rich.hwnd, EM_LINEINDEX, nLine, ByVal 0&)
RowLength = SendMessage(Rich.hwnd, EM_LINELENGTH, FirstChar, ByVal 0&)
numberOfLines = SendMessage(Rich.hwnd, EM_GETLINECOUNT, 0, 0)
 
ReDim Buffer(RowLength + 1)
Buffer(0) = RowLength + 1
 
SendMessage Rich.hwnd, EM_GETLINE, nLine, Buffer(0)
LineText = Left$(StrConv(Buffer, vbUnicode), RowLength)
 
 
 
Select Case Getdata
 
Case 1
GetRichData = VisibleLines
Case 2
GetRichData = FirstVisibleLine
Case 3
GetRichData = nLine
Case 4
GetRichData = CursorPos
Case 5
GetRichData = FirstChar
Case 6
GetRichData = RowLength
Case 7
GetRichData = numberOfLines
Case 8
GetRichData = LineText
Case Else
GetRichData = "This should not happen!! Try Again!!"
End Select
 
End Function
Hier bekommst Du eigentlich alle Daten, die Du dazu brauchst.

Musst nur noch die Zeilen hochscrollen.

Gruß

Holger

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Erste Zeile in Richtextbox878Ne kölsche Jung14.04.06 16:40
Re: Erste Zeile in Richtextbox532Holli14.04.06 17:02
Re: Erste Zeile in Richtextbox549Ne kölsche Jung14.04.06 23:02
Re: Erste Zeile in Richtextbox524Holli15.04.06 09:59
Re: Erste Zeile in Richtextbox490Ne kölsche Jung15.04.06 11:08
Re: Erste Zeile in Richtextbox615Holli15.04.06 10:51
Re: Erste Zeile in Richtextbox469Ne kölsche Jung15.04.06 14:20
Re: Erste Zeile in Richtextbox461Holli15.04.06 16:12
Re: Erste Zeile in Richtextbox504Ne kölsche Jung16.04.06 10:09

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel