CWaitCursor::CWaitCursor

CWaitCursor ();

หมายเหตุ

เมื่อต้องการแสดงเคอร์เซอร์รอ ก็ประกาศวัตถุCWaitCursorก่อนรหัสที่ทำการดำเนินการที่ยาวเกินไป การกำหนด ทำให้เคอร์เซอร์รอจะแสดงขึ้นโดยอัตโนมัติ?

เมื่อวัตถุไปตกขอบเขต (ในตอนท้ายของบล็อกในซึ่งวัตถุCWaitCursorได้ประกาศ), destructor ของตั้งค่าเคอร์เซอร์เคอร์เซอร์ก่อนหน้า กล่าวอีกนัยหนึ่ง วัตถุทำจำเป็นล้างโดยอัตโนมัติ?

คุณสามารถใช้ประโยชน์จากข้อเท็จจริงเรียกว่า destructor ที่ว่าในตอนท้ายของบล็อก (ซึ่งอาจจะก่อนการสิ้นสุดของฟังก์ชัน) เพื่อทำให้เคอร์เซอร์รอใช้งานในส่วนเฉพาะของฟังก์ชันของคุณ เทคนิคนี้จะแสดงตัวอย่างที่สองที่ด้านล่าง?

หมายเหตุnbsp  เนื่องจากของวิธีของตน constructors และ destructors ทำงาน วัตถุCWaitCursorได้เสมอประกาศเป็นตัวแปรท้องถิ่น — และพวกเขาจะไม่เคยประกาศเป็นตัวแปรส่วนกลาง ไม่ถูกปันพวกเขาส่วนกับใหม่(&N)?

ตัวอย่าง

/ / ตัวอย่างต่อไปนี้แสดงให้เห็นถึงกรณีทั่วไป
/ / แสดงเคอร์เซอร์รอระหว่างบางยาวเกินไป
/ / ทำการประมวลผล

โมฆะ LengthyFunction ()
{
 nbsp / / บางทีคุณแสดงกล่องโต้ตอบก่อนที่จะแสดงใน
   / / รอเคอร์เซอร์

รอ CWaitCursor   / / แสดงเคอร์เซอร์ที่รอคอย

/ / ทำการประมวลผลบางยาวเกินไป

} / / destructor เคอร์เซอร์รอที่เอาออกโดยอัตโนมัติ

/ / ตัวอย่างนี้แสดงการใช้วัตถุ CWaitCursor ภายในบล็อก
/ / เพื่อรอเคอร์เซอร์จะแสดงเฉพาะในขณะที่โปรแกรมอยู่
/ / ดำเนินยาวเกินไป

โมฆะ ConditionalFunction ()
{
   ถ้า (SomeCondition)
   {
      รอ CWaitCursor   / / แสดงเคอร์เซอร์ในบล็อกนี้เท่านั้นที่รอคอย

/ / ทำการประมวลผลบางยาวเกินไป

} / / ณจุดนี้ destructor ที่เอาเคอร์เซอร์รอ
   อื่น
   {
      / / ไม่รอเคอร์เซอร์ - การประมวลผลแบบเร็วเท่านั้น
   }
}(&N)

ภาพรวม CWaitCursor |nbsp แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCWaitCursor::Restore, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor(&N)

Index