方法

Gtk::Widget的以下方法可以将Widget作为源或者目标:

void drag_source_set(const Glib::RefPtr<Gdk::ContentFormats>& targets,
      Gdk::ModifierType start_button_mask, Gdk::DragAction actions);
  • targets是一个Gdk::ContentFormats对象。
  • start_button_mask是一组值异或后的结果,用于指定按下哪个组合键或鼠标按键才能开始拖动。
  • actions是一组值异或后的结果,用于指定可以对该源进行的拖放操作 - 例如复制、移动或链接。用户可以通过修饰键选择动作,比如通过按下Shift键将动作从copy改变为move,这还会使光标显示不同的样式。
void drag_dest_set(const Glib::RefPtr<Gdk::ContentFormats>& targets,
    Gtk::DestDefaults flags, Gdk::DragAction actions);
  • 是一组值异或后的结果,用于表示部件在视觉上如何响应拖放项。
  • actions指示此目的地可以接受的拖放动作 - 请参阅上面的描述。

有些添加源格式和目的地格式的方法。例如:

  • drag_source_add_text_targets()
  • drag_source_add_image_targets()
  • drag_dest_add_text_targets()
  • drag_dest_add_image_targets()