どのよう

H

hmsheng

Guest
私はプログラミングのVC beginerです。私は質問があります。

これはprogremされるダイアログベース。

button and stop
button.

ダイアログに2つのボタン: スタートボタン
とボタンを停止 します。私が欲しい:button a loop begin to run.

ループするときスタート ボタン
をクリック実行を開始します。button the loop running stop.

ストップを実行するときにクリックして、 停止
ボタンをループします。

私はループを開始することができます応答がないのループをため停止できません。
どのように問題をこれに解決する?
TKSの。

 
こんにちは、

記事を読むMSDNで:"スレッドを使用してプロセスと"
が確認される例は、方法を示します。

をお楽しみください

 
あなたは、スレッドの作業別のループを以内に可能¥性がありますが必要に開始

afxBeginThread(yourFunction);

"yourFunctionは"ループ作業すべき監視デ"グローバル変数をトグルで終了停止するために"をクリックします。

 
いいえ、あなたはスレッドを2番目の使用しない必要があります。あなたが道を他のことを見つける。私は名前を関数のできない覚えている。は停止することができますが理由とのための計算のCPUは、ビジー状態でループインターフェイスユーザメッセージからは表¥示されます。あなたはそれを処理queneに見るためにすることができます使用して一度CPUのいくつかの関数を取得するメッセージで。

 
1つを試して、この。は別のスレッド。

ボイドDoEvents()を

MSGの派遣。

:(:PeekMessageを(&派遣中は、NULL、0、0、PM_NOREMOVE))

(もし!AfxGetThread() - > PumpMessage());

))でループの呼び出しコールDoEvents関数(;

中(...........)

........
........
DoEvents関数();


 
またやっても

ボイドDoEvents関数(ボイド)

msgをMSGの。

)メッセージは、NULL、0,0、中(PeekMessageを(&PM_REMOVE)

TranslateMessage(&msg)の;
DispatchMessageを(&msg)の;



それはしかし、動作しているアプリケーションが終了正常にしない...

あなたがループこのことからする必要があります終了します。
&メッセージは、NULL、0,0、中に((PeekMessageを(PM_REMOVE))&(!bAppClosing))


TranslateMessage(&msg)の;
DispatchMessageを(&msg)の;


 

Welcome to EDABoard.com

Sponsor

Back
Top