プログラミング研究所 プログラミング研究所 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






    « ツリービューのノード作成 | メイン | ファイルからアイコンを取得する »

  • マルチスレッド処理 【C++/CLI】
    マルチスレッド処理は、BackgroundWorkerを使うと簡単

    System::ComponentModel::BackgroundWorker^ cmBackgroundWorker;


    おなじみのイベントハンドラを作成。
    System::Void Form::DoWork( System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e )
    {
        // ここに、処理を書く
    }

    System::Void Form::RunWorkerCompleted( System::Object^ sender, System::ComponentModel::RunWorkerCompletedEventArgs^ e )
    {
        // スレッドが終了したときに呼ばれる
    }


    イベントハンドラを登録して、RunWorkerAsync()でスレッド開始
    cmBackgroundWorker->DoWork += gcnew System::ComponentModel::DoWorkEventHandler( this, &Form::DoWork );
    cmBackgroundWorker->RunWorkerCompleted += gcnew System::ComponentModel::RunWorkerCompletedEventHandler( this, &Form::RunWorkerCompleted );

    // スレッド開始
    cmBackgroundWorker->RunWorkerAsync();



    投稿者 NMVL : 2006年4月19日 14:36