Here is something funny. I use check_on_focus_loss to make it possible to key in a percentage of say 50. Then, the lower values (width, height) are not updated when I set the percentage using the spin wheel. But if I delete check_on_focus_loss, the update works well.
program test
IMPLICIT NONE
INCLUDE <WINDOWS.INS>
external prop_fix,s2z,z2s
integer*4 j,zei,spa,proz,s_spa,s_zei
common /i_size/ zei,spa,proz,s_spa,s_zei
spa = 4000
zei = 3000
proz = 100
s_spa = spa
s_zei = zei
j = winio@('%ca[Test]%sy[3d_thin]%fn[MS SANS SERIF]%tsImage size'
* //'%co[check_on_focus_loss]%dd%il%^4rd%% or%ffWidth%il%^6rd'
* //'pxl, Height%il%^6rdpxl%ff%nl%cn%`7bt[OK]',.96D0,10,10,
* 1000,proz,prop_fix,1,99999,s_spa,s2z,1,99999,s_zei,z2s)
end
C ====================================================================== CCCC
INTEGER FUNCTION prop_fix()
IMPLICIT NONE
c via percentage
integer*4 proz,s_spa,s_zei,zei,spa
real*8 r
common /i_size/ zei,spa,proz,s_spa,s_zei
r = dble(proz)/100.D0
s_spa = nint(r*spa)
s_zei = nint(r*zei)
prop_fix = 1
end
INTEGER FUNCTION z2s()
IMPLICIT NONE
c via rows
integer*4 proz,s_spa,s_zei,zei,spa
real*8 r
common /i_size/ zei,spa,proz,s_spa,s_zei
r = dble(s_zei)/dble(zei)
proz = nint(100.D0*r)
s_spa = nint(r*spa)
z2s = 1
end
INTEGER FUNCTION s2z()
IMPLICIT NONE
c via columns
integer*4 proz,s_spa,s_zei,zei,spa
real*8 r
common /i_size/ zei,spa,proz,s_spa,s_zei
r = dble(s_spa)/dble(spa)
proz = nint(100.D0*r)
s_zei = nint(r*zei)
s2z = 1
end
Regards - Wilfried