拖动资料有下面的这些属性:
- 拖动行为类型(比如 GDK_ACTION_COPY, GDK_ACTION_MOVE)。
- 客户端指定的任意拖曳类型(一个名称和数字组成的对)。
- 发送和接收的资料格式类型。
拖动行为的意义很明显,它们指定元件是否能以指定的行为来拖动,比如GDK_ACTION_COPY 和/或GDK_ACTION_MOVE。GDK_ACTION_COPY将是一个典型的拖曳,它的来源资料并不会被删除,而GDK_ACTION_MOVE 将和GDK_ACTION_COPY一样,只是“建议”在接收信号处理函式呼叫之后将来源资料删除掉。还有一些附加的拖动行为包括 GDK_ACTION_LINK等,当你对拖曳的使用达到更高水平时,你可能会使用到。
客户端指定的任意拖曳类型要更加灵活些,因为你的程式将明确地定义和检测它。你需要指定一个名称和/或数字以设置目的元件能接收的特定拖曳类型。用一个名称要可靠些,因为其它应用程式可能也正好用了同样的数字来区别它的完全不同的类型。
发送和接收的资料格式类型(selection target)只在请求和接收资料处理函式中使用。术语selection target有些容易令人误解。它应该是一个适合在 GTK+ 选取区域(剪切/复制和贴上)中使用的术语。selection target实际是指被发送和接收的资料的格式类型(比如GdkAtom, integer, 或string)。你的请求资料处理函式必须指定它发送出去的资料的类型(selection target),同时接收资料处理函式要处理接收到的资料的类型(selection target)。
1 則留言
Comments are closed.