最新閲覧日:

 こんにちわ。
いきなりですが、VC++でユーザーインターフェイススレッドを使って、
ボタンが1つあればいいだけの別スレッドダイアログを作らなくちゃならないの
です。
CWndThreadクラスを使う。。。とかCWndThreadクラスの関数を
オーバーライドしなくちゃならないらしいとか、MSDNのヘルプを見てそこまでは
わかったのですが、実際、何をどう作っていいのか、途方にくれています。
サンプルを入手して、ソースを追っかけてみているのですが、MSDNのサンプルは
余計な機能とかがいっぱい入っていて、「本当に必要なコードはこれ!!」
というのがよくわかりません。
どなたか、すっごーく単純なスレッド作成、スレッド側の最低限コーディング
を教えてください!!というか、助けてください!!!!

A 回答 (1件)

簡単なサンプルです。


--------------------------------------
//スレッドからの呼び出し関数
UINT SendAutoThread(LPVOID pParam){
//ここにスレッドの処理を書く

return 0;
}

//Hogeボタンを押したとき
void CHogeDlg::OnHoge(){
//スレッド作成
CWinThread *pThread = AfxBeginThread(
HogeThread,//呼び出す関数
this);
}
------------------------------------------
    • good
    • 0
この回答へのお礼

ありがとうございました。
私は、AfxBeginThread()ではなく、CreateThread()を使用して
作成していたのですが、AfxBeginThread()に替えたら無事に動きました。

余談ですが、CreateThread()関数で作成したとき、
Windows98でやっていたのですが、どうしてもスレッド側の関数に
処理が行かなくて困っていたのでAfxBeginThread()に替えたらOKでした。
でも、Windows98でだめだったソースをそのままWindows2000で
テストしてみたら問題なく動くんです。。。。結局、プログラムのせいでは
なくて、OSに依存するってことなんでしょうか。。。。
腑に落ちない点がありますが、ターゲットはWindows98だそうなので、動くようになって一件落着しました。
ありがとうございました。

お礼日時:2001/06/08 12:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ