Нужно получать символы из RichTextBox сообщением EM_GETLINE
Исходный код не мой. Работает прекрасно, НО только с латиницей. Вместо кириллических символов возвращает кракозябры. Что EM_GETLINE в принципе не возвращает сиволы с кодом выше 127 ?
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_GETLINE = &HC4
Public Property Get Line(lngLine As Long) As String
' When sending the EM_GETLINE message
' the lParam is a pointer to a buffer that will hold
' the returned line of text.
' The first word(16 bits) of this buffer contain the
' number of characters to return. So we can set the
' number of characters to return a Byte array is used
Dim bReturnedLineBuffer() As Byte
Dim LengthOfLine As Long ' length of the line
Dim LineStart As Long
LineStart = LineStartPos(LineIndex)
If LineStart = -1 Then Exit Function
LengthOfLine = LineLength(LineStart)
If LengthOfLine < 1 Then Exit Function
'Resize the byte array
ReDim bReturnedLineBuffer(LengthOfLine)
'Save the length in the first word of the array
'A Word is two bytes so split the length up
bReturnedLineBuffer(0) = LengthOfLine And 255
bReturnedLineBuffer(1) = LengthOfLine \ 256
mzx может у тебя проблема виндой например у меня русский текст в некоторых програмах тоже не отображалса .Спасиба ZagZag дал *.reg файлик после выполнения какого всё стало на свои места
Спасибо всем за ответы. Наверное я некорректно задал вопрос, но проблема остается.
Вот здесь пример из которого понятно, что я имею в виду: http://www.bousoft.com/ocx/codehighlight.zip
Можете сами убедиться на счет кириллических символов.
Я этот класс использую в своей проге SQLManager. С синтаксисом SQL все в порядке, но если нужно русские слова в запросе использовать - жопа.