Sign in to follow this  
Followers 0
CyberSlug

Slider control request

8 posts in this topic

GUI devs: Could you remove line 4252 of guibox.cpp?:

SendMessage(lpCtrl->hWnd, TBM_SETTICFREQ,10,0); // set progress-step to 10

According to this website:

To gain more control over the positioning of the tick marks, use TBM_SETTIC. Given a position, this message will place a mark at that point. However, if TBM_SETTICFREQ was used previously, TBM_SETTIC won't place tick marks correctly. Additionally, TBM_GETTIC and TBM_ GETPTICS won't return useful information other than a sequence of numbers up to the count of tick marks. So, to set tick marks, use either TBM_SETTICFREQ and TBS_AUTOTICKS, or just TBM_SETTIC. Also keep in mind that the control stores tick mark information in an internal array in the order that they have been set. Using TBM_GETTIC or TBM_GETPTICS reflects this.

I'd like to use TBM_SETTIC in some of the slider wrapper functions I'm working on.... For example, I'd like to have tick marks display properly on my http://www.autoitscript.com/fileman/users/public/CyberSlug/logslider.au3

Screenshot shows GUI compiled with "hacked" version of guibox.cpp where TBM_SETTIC works properly:


Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig!

Share this post


Link to post
Share on other sites



* BUMP *

Any thoughts on the above post?

<{POST_SNAPBACK}>

I have no problem to remove it if it display something correct which is not the case.

What can I put that's will be OK for you?

Happy new year

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Basically, the call to TBM_SETTICFREQ makes it *impossible* to use TBM_SETTIC (custom-spaced tic marks) ...

If you completely remove the line SendMessage(lpCtrl->hWnd, TBM_SETTICFREQ,10,0), then:

1) TBM_SETTIC can be used successfully and would allow me to put tick marks at arbitrary locations such as 2,4,8,16,etc.

2) The default step size of 1 will be used by for the tic marks, and user can call GuiCtrlSendMsg($ref, $TBM_SETTICFREQ, $ticFreq, 0) if he wants to change the step size....

So it will display correctly! NOTE: Because the default progress-step is 1, you should probably make a minor change to the help file example: GUICtrlSetLimit(-1,20,0) ; change max value to 20

Edited by CyberSlug

Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig!

Share this post


Link to post
Share on other sites

Basically, the call to TBM_SETTICFREQ makes it *impossible* to use TBM_SETTIC (custom-spaced tic marks) ...

If you completely remove the line SendMessage(lpCtrl->hWnd, TBM_SETTICFREQ,10,0), then:

1) TBM_SETTIC can be used successfully and would allow me to put tick marks at arbitrary locations such as 2,4,8,16,etc.

2) The default step size of 1 will be used by for the tic marks, and user can call GuiCtrlSendMsg($ref, $TBM_SETTICFREQ, $ticFreq, 0) if he wants to change the step size....

So it will display correctly!  NOTE:  Because the default progress-step is 1, you should probably make a minor change to the help file example: GUICtrlSetLimit(-1,20,0)    ; change max value to 20

<{POST_SNAPBACK}>

I understand, did you check if what you want to do works with style =0 and TBM_CLEARTICS

I cannot found in the msdn doc I am reading any warning so precise as this article.

:idiot:

Share this post


Link to post
Share on other sites

I understand, did you check if what you want to do works with style =0 and TBM_CLEARTICS

I cannot found in the msdn doc I am reading any warning so precise as this article.

:D

<{POST_SNAPBACK}>

Yeah I tried that. No tick marks appear (except the very first and very last marks, of course).

It's not *that* important, but I thought I should bring up the issue before AutoIt 3.0.103 is officially released :idiot:


Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig!

Share this post


Link to post
Share on other sites

Yeah I tried that.  No tick marks appear (except the very first and very last marks, of course).

It's not *that* important, but I thought I should bring up the issue before AutoIt 3.0.103 is officially released  :idiot:

<{POST_SNAPBACK}>

I will change the code so if not the default style (TBS_AUTOTICKS) then both the TBM_SETRANGE and TBM_SETTICFREQ will not be sent.

Thanks :D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0