Is there a way to set the position on the progress bar to the position that a user clicks on the progress bar itself? For example, if the user clicks on the middle of the progress bar, the position of the progress bar gets updated to the middle.
Get the mouse coordinates, then use (-ing y) the update feature on the progress bar.
Use the following code to obtain the horizontal and vertical position (see below for more info):
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
SendMessage(hBar,PBM_SETRANGE,(WPARAM)0,MAKELPARAM(0,highLimit));
SendMessage(hBar,PBM_SETSTEP,(WPARAM)1,(LPARAM)0);
This here-> SendMessage(hBar,PBM_SETPOS,(WPARAM)0,(LPARAM)0);
SendMessage(hBar,PBM_STEPIT,(WPARAM)0,(LPARAM)0);
-----------------------------------------------------------
WM_MOUSEMOVE Notification
The WM_MOUSEMOVE message is posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse.
A window receives this message through its WindowProc function.
Syntax
WM_MOUSEMOVE
WPARAM wParam
LPARAM lParam;
Parameters
wParam
Indicates whether various virtual keys are down. This parameter can be one or more of the following values.
MK_CONTROL
The CTRL key is down.
MK_LBUTTON
The left mouse button is down.
MK_MBUTTON
The middle mouse button is down.
MK_RBUTTON
The right mouse button is down.
MK_SHIFT
The SHIFT key is down.
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.
lParam
The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.
The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.
Return Value
If an application processes this message, it should return zero.
Remarks
Use the following code to obtain the horizontal and vertical position:
You got to first get the MK_LBUTTON, then the coordinates, then do a sendmessage(...,x,y);. If that doesn't work(cause it does for me), perhaps I shouldn't have answered.
--------------
"Ask a question and your a fool for three minutes, don't ask it and your a fool for a lifetime." -Chinese Proverb
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.