PureBasic

DragImage()

Синтаксис

Result = DragImage(ImageID [, Actions])

Описание


Начинает операцию Drag & Drop (Перетаскивание мышью) изображения.

Параметры

ImageID Идентификатор изображения для перетаскивания. Корректный идентификатор 'ImageID' можно получить с помощью функции ImageID().
Actions (дополн.) Комбинация действий Drag & Drop, которые разрешены для изображения. Если параметр не задан, единственным разрешённым действием будет то #PB_Drag_Copy. Возможные действия: (их можно сочетать с помощью оператора '|')
  #PB_Drag_Copy: Можно копировать изображение
  #PB_Drag_Move: Можно перемещать изображение
  #PB_Drag_Link: Можно создать ссылку на изображение
Пользователь может выбрать, какое из этих действий выполнить, нажав клавиши-модификаторы вроде Ctrl или Shift. Какие действия будут выполнены, зависит также от того, что разрешено принимающей стороной перетаскивания. (В MacOSX действия считаются лишь предложениями. Принимающая сторона перетаскивания может выбрать другое действие.)

Возвращаемое значение

Возвращает одно из упомянутых выше значений действий Drag & Drop чтобы сообщить, какое действие выполнил пользователь, или значение #PB_Drag_None, если пользователь прервал выполнение операции Drag & Drop.

Обратите внимание на то, что если возвращено значение #PB_Drag_Move, то удалить перетащенное изображение из вашего приложения должны вы.

Комментарии

Drag & Drop можно начать в любой момент, но левая кнопка мыши должна быть нажата, так как иначе операция немедленно закончится без результата. Обычно операция Drag & Drop начинается когда Гаджет породил событие, имеющее по классификации функции EventType() тип #PB_EventType_DragStart.

Пример

; Перетащите изображение в приложение, которое может принимать изображения, такое как офис или графический редактор.
;
If LoadImage(1, #PB_Compiler_Home + "examples/sources/data/PureBasicLogo.bmp")
    If OpenWindow(1, 200, 200, 400, 90, "Drag & Drop", #PB_Window_SystemMenu)
        ImageGadget(1, 10, 10, 380, 70, ImageID(1))

        Repeat
            Event = WaitWindowEvent()
            If Event = #PB_Event_Gadget And EventGadget() = 1 And EventType() = #PB_EventType_DragStart
                DragImage(ImageID(1))
            EndIf
        Until Event = #PB_Event_CloseWindow
    EndIf
EndIf

См. также

DragFiles(), DragText(), DragPrivate(), DragOSFormats(), SetDragCallback()

Поддерживаемые OS

Все

<- DragFiles() - Оглавление DragDrop - DragOSFormats()->