Version: 2.9.4
ドラッグ・アンド・ドロップの概要

クラス: wxDataObject, wxTextDataObject, wxDropSource, wxDropTarget, wxTextDropTarget, wxFileDropTarget

wxWidgets でドラッグ・アンド・ドロップを使用するには、setup.hwxUSE_DRAG_AND_DROP を定義する必要があることに注意してください。

参照: wxDataObject の概要ドラッグ・アンド・ドロップのサンプル

クリップボードへの/からのデータ転送はドラッグ・アンド・ドロップによるデータ転送と非常に似ており、これらを実装するコードもほとんど同じです。特に、両方のデータ転送の仕組みとも、ある種の wxDataObject にデータを格納し、wxDataFormat クラスを使用してフォーマットを識別します。

ドラッグ元 になる、つまり、ユーザが他の場所へドラッグするデータを提供するには次の手順を実装します:

    wxTextDataObject my_data("This text will be dragged.");
    wxDropSource dragSource( this );
    dragSource.SetData( my_data );
    wxDragResult result = dragSource.DoDragDrop( true );
    switch (result)
    {
        case wxDragCopy:
            // データをコピーする
            break;
        case wxDragMove:
            // データを移動する
            break;
        default:
            // 何も行わない
            break;
    }

ドロップ先 になる、つまり、ユーザのドロップしたデータを受け付けるためには次の手順を実施します:

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines