Create a class which derives from the CScrollBar class. The Thumb Wheel control functionality is similar to the scroll bar functionality. Instead of changing the view position with GetScrollPos() do your task. For example as in the figure shows rotate the image horizantally or vertically. And you can set range of angle (i.e 0-360) with the help of SetScrollRange(). On the OnPaint of your class draw the Thumb Wheel control as per your wish.
To create a ToolTip control, call CreateWindowEx and specify the TOOLTIPS_CLASS window class. This class is registered when the common control DLL is loaded. To ensure that this DLL is loaded, include the InitCommonControlsEx function in your application.
Sweet link. I would comment on that pages link to "Signal to Noise Ratio" pertaining to internet forums etc., related to CPs forums, but you can't comment on it without being hypocritical.
Reading the page further it gets interesting regarding the rules adopted by other forums banning the poor attitude of an RTFM or JFGI response. Perhaps I need to go read that occasionally to keep myself in line.
When I select or deselect multiple items on ListView control, I will get a lot of LVN_ITEMCHANGED messages. The problem is, how do I get the last one only, or how do I know it is the last one? I want to modify my data after it stop changing. Thanks for your help.
Yes. It doesn't have the LVS_SINGLESEL style. That's why I think it is difficult to deal with.
Right now I use a timer. I set a timer when I get the first message, after a short delay, I start to draw my window or something. If I handle each change message, my window will keep flashing during the processing. So I want to handle just once or in the last message. I'm looking for a better way to know when I get the last message. Thanks for your help.
In regards to your "I want to modify my data after it stop changing" comment, if some number of seconds elapse between selection messages, how are you to know if the subsequent selection is the last of the first group or the beginning of the next group? In other words, what defines "stop changing?"
To get a better understanding of what you are trying to accomplish, what exactly are you doing with each selection in the list control?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
I click one item in the list-view control, hold down shift key, click another item, then I can select the items between the first and the last one. After that, I draw selection lines in another window for those items to indicate they are selected. Because I know windows will produce a bundle of messages to notify this operation, I draw my window just once after these messages to get better performance.
"stop changing" ==> windows won't generate selection messages anymore for this operation
Depending on windows' behavior, if there are few seconds between the messages, it should be the next selection operation. I know it is the first of the next group since it comes after my last timer event.
Sorry, the owner-drawn style also generates a lot of messages. But the LVS_OWNDERDATA style always generates 3 messages each operation. I have improved my timer logic and it works fine right now. Thanks for your help.