Страница: 1 |
Страница: 1 |
Вопрос: Проблемы с буфером обмена...
Добавлено: 21.03.05 00:06
Автор вопроса: Apache2 | ICQ: 162823477
У меня в коде есть такая конструкция
Clipboard.SetText (RichTextBox2.Text)
не копирует :(( что делать?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #1
Добавлено: 21.03.05 01:25
Vj;tn yflj gthtl 'nbv jx
Мля...........
Может надо перед этим очистить буфер?
Номер ответа: 2
Автор ответа:
Apache2
ICQ: 162823477
Вопросов: 31
Ответов: 114
Профиль | | #2
Добавлено: 21.03.05 01:31
Точно!! даже и не подумал бы..
Спасибо!
Номер ответа: 3
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #3
Добавлено: 22.03.05 09:06
Из моей программы:
Private Sub cRich_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Call cRich_SelChange
If Shift = vbCtrlMask Then
Select Case KeyCode
Case vbKeyR
KeyCode = 0
Call mnuFileOpenRefresh_Click
KeyCode = 0
Case vbKeyV
' Вставить текст
KeyCode = 0 ' Гм.. Даже не думал, что это понадобится... )
Dim mText As String, mStart As Long
With cRich
mStart = .SelStart
If Clipboard.GetFormat(vbCFText) Then mText = Clipboard.GetText(vbCFText) Else Exit Sub
' Если текст в кодировке Unicode, то ...
If IsTextUnicode(mText, Len(mText), IS_TEXT_UNICODE_STATISTICS) Then
' ... спрашиваем переводить ли в ANSI или нет ...
If MsgBox(Replace(mLanguage.GetLngStr(Tag, "IsBufferUnicode", "Messages", "Буфер содержит текст в кодировке Unicode.\nПерекодировать в ANSI?", "\n", vbCrLf), vbQuestion Or vbYesNo Or vbDefaultButton1, mLanguage.GetLngStr(Tag, "Question", "Captions", "Easy Note - [Информация]") = vbYes Then
' ... если да, то переводим
mText = mMain.UTF8ToWin(mText, Len(mText))
End If
End If
.SelText = mText
mText = vbNullString
End With
KeyCode = 0
и из меню:
Private Sub mnuEditCopy_Click()
On Error Resume Next
With Clipboard
.Clear
.SetText cRich.SelText, vbCFText
End With
End Sub
Private Sub mnuEditCut_Click()
On Error Resume Next
With Clipboard
.Clear
.SetText cRich.SelText, vbCFText
End With
cRich.SelText = vbNullString
End Sub
Private Sub mnuEditDelete_Click()
On Error Resume Next
cRich.SelText = vbNullString
End Sub
Private Sub mnuEditPaste_Click()
On Error Resume Next
Dim mText As String
With cRich
mText = Clipboard.GetText(vbCFText)
' Если текст в кодировке Unicode, то ...
If IsTextUnicode(mText, Len(mText), IS_TEXT_UNICODE_STATISTICS) Then
' ... спрашиваем переводить ли в ANSI или нет ...
If MsgBox(Replace(mLanguage.GetLngStr(Tag, "IsBufferUnicode", "Messages", "Буфер содержит текст в кодировке Unicode.\nПерекодировать в ANSI?", "\n", vbCrLf), vbQuestion Or vbYesNo Or vbDefaultButton1, mLanguage.GetLngStr(Tag, "Question", "Captions", "Easy Note - [Информация]") = vbYes Then
' ... если да, то переводим
mText = mMain.UTF8ToWin(mText, Len(mText))
End If
End If
.SelText = mText
mText = vbNullString
End With
End Sub
Дальше сам )