Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: Копирование файла в буфер обмена Добавлено: 06.06.05 12:36  

Автор вопроса:  Diz | Web-сайт: www.TS-Group.fatal.ru

Ответить

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

Номер ответа: 16
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #16
Добавлено: 10.06.05 14:53
msdn говорит, что ошибка будет если:
You tried to reference a DataObject object outside of the event in which it was passed in.

Но тут достаточно DataObjectFiles...

Ответить

Номер ответа: 17
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #17 Добавлено: 10.06.05 15:14
Я откровенно не догоняю объект DataObject. В С++ он создается нормально, в VB.NET тоже, в старом MSDN есть пример его создания для старых VB, но тут никак. Кроме того, имеется еще тот же объект в MSForm 2.0 для офиса. Тот создается нормально, даже сам позволяет работать с буфером, но только с текстом!
Про ту ошибку я тоже читал. Но дык не работает даже следующий код

Private Sub List1_OLEStartDrag(Data As DataObject, AllowedEffects As Long)
Data.Clear
Data.Files.Add "d:\1.tmp"
Clipboard.SetData Data.GetData(vbCFFiles), vbCFFiles
End Sub

Код не менее глуп предшественника и ошибку выдает ту же :)

Ответить

Номер ответа: 18
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #18 Добавлено: 10.06.05 15:23
В общем, думаю нормальным решением будет это
http://msdn.microsoft.com/library/en-us/dnvbpj00/html/clip0002.asp

Ответить

Номер ответа: 19
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #19
Добавлено: 10.06.05 16:16
Да вот хороший модуль
http://www.developerfusion.com/show/224/

Ответить

Номер ответа: 20
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #20
Добавлено: 10.06.05 16:46
1) в OLEStartDrag надо Data.SetData, но где эту Data брать?
2) Data.GetData не юзается в OLEStartDrag, она нужна при OLEDragDrop
3) Clipboard.SetData по моему хочет StdPicture.

Короче юзаем API

Ответить

Номер ответа: 21
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #21 Добавлено: 10.06.05 17:16
Да, но вопрос уже в другом - через OLEStartDrag я пытался получить экземпляр DataObject. Он создается, но потом куда девается - загадка. Data можно юзать как угодно, но в пределах события и вызываемых из него функций. Дальше - хаюк.
А про АПИ нет вопросов, уже давал на них ссылку.

Ответить

Номер ответа: 22
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #22
Добавлено: 10.06.05 20:31
Data можно юзать как угодно, но в пределах события и вызываемых из него функций. Дальше - хаюк.

Нифига! В событии OLEStartDrag в Data суешь что нужно, а в событии OLEDragDrop в Data находится все то, что сунул раньше!

Ответить

Номер ответа: 23
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #23
Добавлено: 10.06.05 20:32
Private Sub List1_OLEStartDrag(Data As DataObject, AllowedEffects As Long)
Data.Clear
Data.Files.Add "d:\1.tmp"
Clipboard.SetData Data.GetData(vbCFFiles), vbCFFiles
End Sub

LamerOnLine, ну код действительно глупый: ведь Clipboard.SetData, как заметил Sur (приятно видеть человека, кто хорошо разбирается в OLE Drag&;Drop!), "любит" StdPicture

Ответить

Номер ответа: 24
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #24 Добавлено: 11.06.05 18:54
м... может не так понял, я особо не вчитывался, но надо что-ли перетащить данные с одного листбокса в другой? Если это, так вроде не сложно, где-то даже пример был...

Ответить

Номер ответа: 25
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #25 Добавлено: 14.06.05 10:40
Никто не спорит про события. Я про то что после процесса D&;D объект удаляется, несмотря на присутствие ссылки на него, которая затем указывает бог знает куда.
Про Clipboard.SetData - в принципе, тут имеет смысл использовать SetText, этот метод поддерживает такие константы как vbCFLink, vbCFFiles.

Ответить

Страница: 1 | 2 |

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



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