Paul, When using the %ps function with a callback, the [hot_action] option prevents the callback. Ian
Property sheet - hot_action effect
My FTN95.CHM calls this 'hot_track'...
Oops, I meant [hot_track], must have been a Freudian slip! Ian
Thank you. I have made a note of this.
John, I'll check that when I get home. Ian
Here is a summary of the effects:
resources
1 24 default.manifest
included or not included, [hot_track] option not specified
Result - selecting tab actions the assigned callback.
[hot_track] option specified
Callback not used, highlighting of tab text does not work
default.manifest not included [hot_action] OR callback works, not both.
Ian
Using a manifest has the effect of binding the application to version 6.0 of the Microsoft DLL Comctl32.dll (or at least that is how it was at the beginning). See https://msdn.microsoft.com/en-us/library/aa289524(v=vs.71).aspx.
So maybe ClearWin+ will have no control over this effect. However I will leave this as something to be investigated.
All of this relates to 32 bit Windows. I am guessing that 64 bit Windows uses only one version of Comctl32.dll. The answer may be here.. https://msdn.microsoft.com/en-gb/library/windows/desktop/hh298349(v=vs.85).aspx
(Sorry about the incomplete URLs).
I actually gave up, and found a way of advancing from input window to input window, plus doing it in any order or even backtacking.
We must surely all have a list offormat code effects we like, and those we can't get on with: %ps, %lv and %bv are my least favourites, along with %dw.
Thanks for trying this, but like Eddie, I have given up using the [hot_track] option as it is purely cosmetic whereas the callback is a necessity. Regards Ian
I have had a look at this and I can confirm that the callback response is different depending on whether or not hot_track is used. At the moment I don't know how to fix this so it remains a limitation. So for the time being %^ps[hot_track] is not a useful combination.
This has now been fixed for the next release. Hopefully you will be able to everything as documented. Here is my test program.
!FTN95$WINAPP
!------------------------------------------------------------------
module psdata
integer g1,g2,col1,col2,n,sheetn
end module psdata
!------------------------------------------------------------------
program ps
use clrwin
use psdata
integer,external::redraw1,redraw2,cb,cb1,cb2
integer i,wh1,wh2
g1=1
g2=2
col1=1
col2=1
sheetn=1
n=0
! *** Define the first property sheet %sh with embedded graphics
i=winio@('%sh%sc%ca[Window &1]&',wh1,redraw1)
i=winio@('%`gr%ta%nl%ta %7^bt[Redraw]',200,200,g1,redraw1)
! *** Next property sheet
i=winio@('%sh%sc%ca[Window &2]&',wh2,redraw2)
i=winio@('%`gr%ta%nl%ta %7^bt[Redraw]',200,200,g2,redraw2)
! *** Now display the combined sheets
i=winio@('%ca[Property sheet]%^`2ps[hot_track]&',wh1,wh2,sheetn,cb)
i=winio@('%ac[Ctrl+A]&',cb1);
i=winio@('%ac[Ctrl+B]&',cb2);
i=winio@(' %6rd&',n)
i=winio@('%2nl%ta%8^bt[Exit]','EXIT')
end
!----------------------------------------------------------------------
integer function redraw1()
use clrwin
use psdata
integer i
i=select_graphics_object@(g1)
do i=0,200
call draw_line_between@(0,i,200,i,col1)
col1=col1+1
if (col1>=255) col1=0
end do
redraw1=1
end
!-----------------------------------------------------------------------
integer function redraw2()
use clrwin
use psdata
integer i
i=select_graphics_object@(g2)
do i=0,200
call draw_line_between@(i,0,i,200,col2)
col2=col2+4
if (col2>=255) col2=0
end do
redraw2=1
end
!-----------------------------------------------------------------------
integer function cb()
use psdata
n = n+1
cb = 1
end
!-----------------------------------------------------------------------
integer function cb1()
use psdata
use clrwin
sheetn = 2
call SEE_PROPERTYSHEET_PAGE@(sheetn)
cb1 = 2
end
!-----------------------------------------------------------------------
integer function cb2()
use psdata
use clrwin
sheetn = 1
call SEE_PROPERTYSHEET_PAGE@(sheetn)
cb2 = 2
end
I tested under Windows 8.1 and primarily the callback was not being called when an [ms_style] was used. The failure may not occur on other versions of Windows. You can use the above sample to check this out.
I don't have any information about the date of the next release at the moment.