Страница: 1 |
Вопрос: Помогите с сабклассингом - перехват файлов на Drop | Добавлено: 08.04.05 09:48 |
Автор вопроса: ![]() |
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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #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& ![]() For iCnt = 0 To iCnt - vbNull sBuffer = String$(DragQueryFile(lParam, iCnt, 0&, 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 |
|