Проблема такая: надо в RichTextBox перетаскивать картинки например из проводника. Это получается. Далее внутри RichTextBox надо перемещать картинки - с этим хуже. Вот исходный код
Private Sub Text1_OLEDragDrop(Data As RichTextLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
On Error GoTo Error
If Effect = 7 Then
If Data.Files.Count >= 1 Then
Dim iStartExt As Integer
iStartExt = InStr(1, Data.Files(1), ".")
Dim sExt As String
sExt = Mid(Data.Files(1), iStartExt)
If (sExt = ".bmp") Or (sExt = ".jpg") Or (sExt = ".gif") Then
m_picTemp.Picture = LoadPicture(Data.Files(1)) ' Insert picture to picture box
Clipboard.Clear ' Cleat buffer
Clipboard.SetData m_picTemp.Picture, vbCFBitmap ' Send buffer
If err = False Then
Text1.SetFocus
Text1.SelStart = Len(Text1.Text)
SendKeys "+{INSERT}" ' Insert image...
End If
End If
End If
ElseIf Effect = 3 Then 'Вот тут перемешение внутри RichTextBox
m_picTemp.Picture = Data.GetData(vbCFMetafile) ' Insert picture to picture box
Clipboard.Clear ' Cleat buffer
Clipboard.SetData m_picTemp.Picture, vbCFMetafile ' Send buffer
If err = False Then
Text1.SetFocus
Text1.SelStart = Len(Text1.Text)
SendKeys "+{INSERT}" ' Insert image...
End If
End If
Error:
End Sub
т.е. я при перемешении вставляю картинку в конец. А надо на позицию x y. Как преобразовать координаты x и y в позицию символов в RichTextBox?
Или это можно сделать как - нибудь по - другому?
Заранее спасибо