📄 dnd.h
字号:
///////////////////////////////////////////////////////////////////////////////// Name: wx/motif/dnd.h// Purpose: declaration of wxDropTarget, wxDropSource classes// Author: Julian Smart// RCS-ID: $Id: dnd.h,v 1.14 2006/09/05 20:46:12 VZ Exp $// Copyright: (c) 1998 Vadim Zeitlin, Robert Roebling, Julian Smart// Licence: wxWindows licence///////////////////////////////////////////////////////////////////////////////#ifndef _WX_DND_H_#define _WX_DND_H_#include "wx/defs.h"#if wxUSE_DRAG_AND_DROP#include "wx/object.h"#include "wx/string.h"#include "wx/dataobj.h"#include "wx/cursor.h"//-------------------------------------------------------------------------// classes//-------------------------------------------------------------------------class WXDLLEXPORT wxWindow;class WXDLLEXPORT wxDropTarget;class WXDLLEXPORT wxTextDropTarget;class WXDLLEXPORT wxFileDropTarget;class WXDLLEXPORT wxPrivateDropTarget;class WXDLLEXPORT wxDropSource;//-------------------------------------------------------------------------// wxDropTarget//-------------------------------------------------------------------------class WXDLLEXPORT wxDropTarget: public wxObject{public: wxDropTarget(); virtual ~wxDropTarget(); virtual void OnEnter() { } virtual void OnLeave() { } virtual bool OnDrop( long x, long y, const void *data, size_t size ) = 0; // Override these to indicate what kind of data you support: virtual size_t GetFormatCount() const = 0; virtual wxDataFormat GetFormat(size_t n) const = 0; // implementation};//-------------------------------------------------------------------------// wxTextDropTarget//-------------------------------------------------------------------------class WXDLLEXPORT wxTextDropTarget: public wxDropTarget{public: wxTextDropTarget() {}; virtual bool OnDrop( long x, long y, const void *data, size_t size ); virtual bool OnDropText( long x, long y, const char *psz );protected: virtual size_t GetFormatCount() const; virtual wxDataFormat GetFormat(size_t n) const;};//-------------------------------------------------------------------------// wxPrivateDropTarget//-------------------------------------------------------------------------class WXDLLEXPORT wxPrivateDropTarget: public wxDropTarget{public: wxPrivateDropTarget(); // you have to override OnDrop to get at the data // the string ID identifies the format of clipboard or DnD data. a word // processor would e.g. add a wxTextDataObject and a wxPrivateDataObject // to the clipboard - the latter with the Id "WXWORD_FORMAT". void SetId( const wxString& id ) { m_id = id; } wxString GetId() { return m_id; }private: virtual size_t GetFormatCount() const; virtual wxDataFormat GetFormat(size_t n) const; wxString m_id;};// ----------------------------------------------------------------------------// A drop target which accepts files (dragged from File Manager or Explorer)// ----------------------------------------------------------------------------class WXDLLEXPORT wxFileDropTarget: public wxDropTarget{public: wxFileDropTarget() {}; virtual bool OnDrop( long x, long y, const void *data, size_t size ); virtual bool OnDropFiles( long x, long y, size_t nFiles, const char * const aszFiles[] );protected: virtual size_t GetFormatCount() const; virtual wxDataFormat GetFormat(size_t n) const;};//-------------------------------------------------------------------------// wxDropSource//-------------------------------------------------------------------------enum wxDragResult{ wxDragError, // error prevented the d&d operation from completing wxDragNone, // drag target didn't accept the data wxDragCopy, // the data was successfully copied wxDragMove, // the data was successfully moved wxDragCancel // the operation was cancelled by user (not an error)};class WXDLLEXPORT wxDropSource: public wxObject{public: wxDropSource( wxWindow *win ); wxDropSource( wxDataObject &data, wxWindow *win ); virtual ~wxDropSource(void); void SetData( wxDataObject &data ); wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly); virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return true; }; // implementation#if 0 void RegisterWindow(void); void UnregisterWindow(void); wxWindow *m_window; wxDragResult m_retValue; wxDataObject *m_data; wxCursor m_defaultCursor; wxCursor m_goaheadCursor;#endif};#endif// wxUSE_DRAG_AND_DROP#endif//_WX_DND_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -