Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите с сабклассингом - перехват файлов на Drop Добавлено: 08.04.05 09:48  

Автор вопроса:  Александр | ICQ: 204034 
1) Я тут выловил код и что-то не выходит вставить его в cRichEdit от sne.
Вот этот код:

        Case Is = WM_DROPFILES
            mCount = DragQueryFile(wParam, True, m_File, &H0)
            For nCounter = &H0 To mCount - &H1
                Call DragQueryFile(ByVal wParam, nCounter, m_File, Len(m_File))
                m_File = Replace(m_File, vbNullChar, vbNullString)
                RaiseEvent DragFileAccepted(m_File)
            Next nCounter


Вроде верно пишу - в чем загвоздка?

2) Как в обычном ричтекстбоксе искать методом .Find в обратную сторону?
Указывать позицию конца поиска меньше позиции начала? Решил я все-таки
сам написать поиск текста, а то тот что был - просто ужасен :)
И стоит ли переносить фокус после положительного результата поиска текста
на поле ввода? Ведь у юзера может "зациклить" клавишу Enter и текст
сотрется... Пральна?

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 08.04.05 10:21
Я юзал такой код:

Public Sub Drag(ByVal lParam As Long)
    Dim iCnt As Long, sBuffer As String, nf As Integer
    
    iCnt = DragQueryFile(lParam, &HFFFF, 0&, 0&;)        ' Count of files

    For iCnt = 0 To iCnt - vbNull
        sBuffer = String$(DragQueryFile(lParam, iCnt, 0&, 0&;) + vbNull, 0&;)
        Call DragQueryFile(lParam, iCnt, sBuffer, Len(sBuffer))
        sBuffer = Left$(sBuffer, Len(sBuffer) - vbNull)

        txtOut.Text = txtOut.Text & "file: " & sBuffer & vbCrLf & "-----------------------------------" & vbCrLf & vbCrLf

        nf = VBA.FreeFile
        Open sBuffer For Binary Access Read Lock Write As nf
            sBuffer = String$(LOF(nf), 0&;)
            Get nf, vbNull, sBuffer
        Close nf

        txtOut.Text = txtOut.Text & mBase64.EncodeStr64(sBuffer) & vbCrLf & vbCrLf & "-----------------------------------" & vbCrLf
    Next

    Call DragFinish(lParam)
End Sub


пример на сайте этом... или в клиенте в каталоге \WorkArround\

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам