Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 936871
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T21:22:55+00:00 2026-05-15T21:22:55+00:00

I have created three checkbox controls for three threads and each would start by

  • 0

I have created three checkbox controls for three threads and each would start by checking a checkbox control. When a user unchecks a checkbox, I want to turn on the Wait Cursor on the other thread controls rather than completely disabling them for an instance of time, letting a particular thread to stop.

How would you set a IDC_WAIT cursor id for a specific control or should i let the user to freely start/stop multiple threads in order?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T21:22:56+00:00Added an answer on May 15, 2026 at 9:22 pm

    Many people do not understand how “wait” cursors are … I hesitate to say indended to work.

    The history of the message is really telling however: WM_SETCURSOR has existed since Windows 3.1 – a 16 bit co-operatively multitasked operating system. Because there was only a single thread (Being co-operatively multitasked) – it was not possible for non driver level code to run while an application was “busy”. Hence, the handling for “busy” cursors was like this:

    WM_SETCURSOR would always respond with the appropriate “non busy” cursor.

    Any code that was going to be “busy” would look like:

    SetCursor(hHourglass);
    DoBusyThing();
    SetCursor(hRegular);
    

    This would change the hardware cursor to the hourglass – DoBusyThing would occupy the thread, and WM_SETCURSOR messages would not, and could not, be handled until it exited.

    Win32 changed the semantics a little – It remembers on each thread the last cursor a window on that thread set – allowing the co-operative logic of Windows 3.1 to work in the casynchronously multitasked Win32 environment: If a thread is busy (i.e. not pumping messages) WM_SETCURSOR messages for windows on that thread will just get “stuck” in the message queue – hence the hourglass cursor remains the default cursor for all windows owned by the blocked thread, until the busy operation completes and the thread returns to the message processing loop.

    Of course, none of this logic works really well in the modern world where we no longer block UI threads:- The busy work is now offset to a worker thread, meaning the UI thread is dispatching WM_SETCURSOR messages and resetting the busy cursor back to the class cursor.

    This is not really a problem: The wait cursor have always implied that the application is non responsive and a functioning UI thread + busy worker thread is not what this feedback mechanism is really designed or intended to cover.

    I think the correct thing to do would be to leave the cursor alone, and reflect on the UI some other way (stop icons next to the buttons?) that further threads can not / should not be launched.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have created a UserForm where the user is required to fill-in three fields.
i have created three linear layouts of equal weights. Inside one of the linear
i am new to iPad developer, i have created two or three iPad application
I have a convenience class for encoding URI's. In it I've created three methods
i have one problem with handling list,i have three class named as UserInf,userData,userProcess,i created
I have a very dynamic web app that is dynamically created controls at run-time.
I have created a composite control. There is no build error in it. In
I want to create a table representing data I have, but I want each
I have created a nested ul li tree. I want a radio or a
Imagine we have a webform page with a dynamically created checkbox and date time

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.