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