プログラミング研究所 プログラミング研究所 http://www.program-lab.jp/
プログラミング研究所
プログラム研究自作ソフトウェアプログラムメモリンク


  • カテゴリ別アーカイブ

    .NET Framework
    C++/CLI
    DirectX
    GBA
    JavaScript
    OSSの移植
    PHP
    Win32/64
    WordPress
    その他
    ソフトウェアの設定
    ツール
    ライブラリ
    自作ソフト
    製品レビュー


  • エントリ一覧


    Syndicate this site (XML)

    Powered by
    Movable Type







  • 管理者:NMVL

    nmvl★program-lab.jp
    ※アドレスの ★ を @ に置き換えてください。

    釣りの話題はこちらから
    www.fishing.hokkaido.jp






    « mp3infpをx64へ移植(VC6編) | メイン | String^ <-> wchar_t* 変換 »

  • ファイルのDrag&Dropを許可する 【C++/CLI】
    WindowsフォームへのファイルのDrag&Dropを許可する方法。

    まずは、いつものようにイベントハンドラを作成。
    private: System::Void Form_DragEnter( System::Object^ sender, DragEventArgs^ e){
        // ドロップされようとしているデータが、ファイルの時だけ受け付ける
        if( e->Data->GetDataPresent(::DataFormats::FileDrop) )
        {
            e->Effect = ::DragDropEffects::All;
        }
        else
        {
            e->Effect = ::DragDropEffects::None;
        }
    }

    private: System::Void Form_DragDrop( System::Object^ sender, DragEventArgs^ e){
        // ドロップされたファイルをファイルのパス文字列に変換
        array^ strDropFile = (array<String^>^)e->Data->GetData( ::DataFormats::FileDrop, false );

        // 全て表示
        for each( String^ str in strDropFile )
        {
            MessageBox::Show( str, "Drag & Drop", MessageBoxButtons::OK, MessageBoxIcon::Information );
        }
    }


    フォームプロパティのDrag&Dropを許可にして、イベントを登録する
    this->AllowDrop = true;
    this->DragEnter += gcnew DragEventHandler( this, &Form_FilerMain::Form_DragEnter );
    this->DragDrop += gcnew DragEventHandler( this, &Form_FilerMain::Form_DragDrop );


    なんだかWin32 SDKでやるより難しい気がするのは気のせいだろうか・・・


    投稿者 NMVL : 2006年4月12日 15:05