كيفية تحقيق هذا الاستثمار الرأسمالي في ؟

H

hmsheng

Guest
أنا beginer الرأسمالي البرمجة.لدي سؤال.

هذا هو الحوار القائم على progrem.

button and stop
button.

على اثنين من الأزرار الحوار : بداية
زر والضغط على
زر التوقف.اريد :button a loop begin to run.

عند النقر على زر بدء
حلقة تبدأ في السريان.button the loop running stop.

عند النقر على زر وقف
تشغيل الحلقة تتوقف.

ويمكنني أن تبدأ الحلقة ولكن لا يمكن أن تتوقف الحلقة بسبب أي رد.
كيفية حل هذه المشكلة؟
tks.

 
مرحبا ،

قراءة في MSDN : "استخدام العمليات والمواضيع"
هناك على سبيل المثال كيفية القيام بها.

يتمتع

 
قد تحتاج لبدء حلقة العمل المختلفة داخل الخيط

afxBeginThread (yourFunction) ؛

"yourFunction" رصد عالمي متغير مثبت من قبل "وقف" زر لإنهاء حلقة عمل دي.

 
لا ، لست بحاجة إلى استخدام الخيط ثانية.يمكنك أن تجد طريقة أخرى.لا أستطيع تذكر اسم وظيفة.السبب لا تستطيع التوقف لأن المعالج مشغول حلقة الحساب الخاص بك
، وليس الحصول على رسالة من واجهة المستخدم.يمكنك استخدام وظيفة واحدة للحصول على المعالج بعض الوقت للنظر في رسالة quene للعملية.

 
هذه محاولة واحدة.أي خيط آخر.

الفراغ DoEvents ()
(
جي اس إرسال ؛

في حين أن :) : PeekMessage (& إرسال ، لاغية ، 0
، 0 ، PM_NOREMOVE))
(
إذا (! AfxGetThread () --> PumpMessage ()) ؛
)
)في الحلقة الخاصة بك الكلمة الكلمة DoEvents () ؛

بينما (...........)
(
........
........
DoEvents () ؛
)

 
كما يمكنك محاولة

الفراغ DoEvents (الفراغ)
(
جي اس جي اس ؛

في حين أن (PeekMessage (& جي اس ، لاغية ، 0،0 ، PM_REMOVE))
(
TranslateMessage (جي اس &) ؛
DispatchMessage (جي اس &) ؛
)
)

انها تعمل ولكن الطلب لا برشاقة إنهاء...

يجب عليك الخروج من هذه الحلقة.
في حين أن ((PeekMessage (& جي اس ، لاغية ، 0،0 ، PM_REMOVE)) & & (! bAppClosing))
(

TranslateMessage (جي اس &) ؛
DispatchMessage (جي اس &) ؛
)

 

Welcome to EDABoard.com

Sponsor

Back
Top