Home > Archive > dBASE downloads > June 2005 > Scrollbar Helper class









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Scrollbar Helper class
Marc VdB

2005-06-08, 9:25 am

Konrad Hirsch from the german NG showed me some strange "anomalies" of the
form scrollbars of type 2.
Maybe these are in the buglist, but i never realized the strange behaviour
until he showed me his Demoform.

Attached is his original form (Scrollbartest1) and a second one
(Scrollbartest2), with a scrollbar helper object...
Open the two of them and follow the steps below (note : the effects are best
seen if you configured Windows to show the content of a window while draged)

After opening, you see two almost identical forms, the left one is the one
of Konrad Hirsch the other one is the same with an invisible scrollbar
helper object on it (to be found in the third file, scb_help.cc)

Enlarge the left window, by dragging its bottom line down. See the
entryfield appear and the scrollbar still there and not changing the size of
the thumb.
Now do the same with the form on the right and see a first action of the
scrollbar helper.

Make the left form smaller, to approximately half ofits original size,
observe the scrollbar and drag the thumb to the bottom :-(
Do the same with the right form :-)

Widen the left form, to see the entryfield again, continue to widen,
continue, continue ... end of screen :-(
Do the same with the right form :-)

Make the width of the left form smaller :-(
Right form :-)

Believe me, i had a lot of fun doing the scrollbar helper class 8-)

CU, Marc
--
------
www.vdblogic.de/dbl/homee.htm
------


begin 666 Scrollbartest1.wfm
M*BH@14Y$($A%041%4B M+2!D;R!N;W0@<F5M;W9E('1H:7,@;&EN90T*+R\-
M"B\O($=E;F5R871E9"!O;B Q-RXP,RXR,# U#0HO+PT*<&%R86UE=&5R(&)-
M;V1A; T*;&]C86P@9@T*9B ](&YE=R!38W)O;&QB87)T97-T,49O<FTH*0T*
M:68@*&)-;V1A;"D-"B @(&8N;61I(#T@9F%L<V4@+R\@96YS=7)E(&YO="!-
M1$D-"B @(&8N<F5A9$UO9&%L*"D-"F5L<V4-"B @(&8N;W!E;B@I#0IE;F1I
M9@T*#0IC;&%S<R!38W)O;&QB87)T97-T,49O<FT@;V8@1D]230T*(" @=VET
M:" H=&AI<RD-"B @(" @(&UE=')I8R ](#8)+R\@4&EX96QS#0H@(" @("!H
M96EG:'0@/2 S-3(N, T*(" @(" @;&5F=" ](#@U+C -"B @(" @('1O<" ]
M(#(R+C -"B @(" @('=I9'1H(#T@,S0W+C -"B @(" @('1E>'0@/2 B1F]R
M;2!W:71H('1Y<&4@,B!S8W)O;&QB87(B#0H@(" @("!S8W)O;&Q"87(@/2 R
M"2\O($%U=&\-"B @(&5N9'=I=&@-"@T*(" @=&AI<RY%3E12649)14Q$,2 ]
M(& YE=R!%3E12649)14Q$*'
1H:7,I#0H@("!W:71H("AT:&ES+D5.5%)91DE%
M3$0Q*0T*(" @(" @:&5I9VAT(#T@,C(N, T*(" @(" @;&5F=" ](# N, T*
M(" @(" @=&]P(#T@,"XP#0H@(" @("!W:61T:" ](#$P-2XP#0H@(" @("!V
M86QU92 ](")%;G1R>69I96QD,2(-"B @(&5N9'=I=&@-"@T*(" @=&AI<RY%
M3E12649)14Q$,B ](& YE=R!%3E12649)14Q$*'
1H:7,I#0H@("!W:71H("AT
M:&ES+D5.5%)91DE%3$0R*0T*(" @(" @:&5I9VAT(#T@,C(N, T*(" @(" @
M;&5F=" ](#(P,RXP#0H@(" @("!T;W @/2 S-C,N, T*(" @(" @=VED=&@@
M/2 Q,3(N, T*(" @(" @=F%L=64@/2 B16YT<GEF:65L9#(B#0H@("!E;F1W
M:71H#0H-"B @('1H:7,N5$585$Q!0D5
,,2 ](&YE=R!415A43$%"14PH=&AI
M<RD-"B @('=I=& @@*'1H:7,N5$585$Q!0D
5,,2D-"B @(" @(&AE:6=H=" ]
M(#(R+C -"B @(" @(&QE9G0@/2 R,S$N, T*(" @(" @=&]P(#T@,S,P+C -
M"B @(" @('=I9'1H(#T@.#0N, T*(" @(" @=&5X=" ](")38W)O;&QB87(@
?5&5S="(-"B @(&5N9'=I=&@-"@T*96YD8VQA<W,-"@``
`
end

begin 666 Scrollbartest2.wfm
M<V5T('!R;V-E9'5R92!T;R!S8V)?:&5L<"YC8R!A9&1I=&EV90T**BH@14Y$
M($A%041%4B M+2!D;R!N;W0@<F5M;W9E('1H:7,@;&EN90T*+R\-"B\O($=E
M;F5R871E9"!O;B Q-RXP,RXR,# U#0HO+PT*<&%R86UE=&5R(&)-;V1A; T*
M;&]C86P@9@T*9B ](&YE=R!38W)O;&QB87)T97-T,49O<FTH*0T*:68@*&)-
M;V1A;"D-"B @(&8N;61I(#T@9F%L<V4@+R\@96YS=7)E(&YO="!-1$D-"B @
M(&8N<F5A9$UO9&%L*"D-"F5L<V4-"B @(& 8N;W!E;B@I#0IE;F1I9@
T*#0IC
M;&%S<R!38W)O;&QB87)T97-T,49O<FT@;V8@1D]230T*(" @=VET:" H=&AI
M<RD-"B @(" @(&]N4VEZ92 ]('L[(&9O<FTN<V-B+G-E=&EN9F\H*7T-"B @
M(" @(&]N3W!E;B ](&-L87-S.CI)3DE4#0H@(" @("!M971R:6,@/2 V"2\O
M(%!I>&5L<PT*(" @(" @:&5I9VAT(#T@,S0Y+C -"B @(" @(&QE9G0@/2 T
M-C@N, T*(" @(" @=&]P(#T@,C,N, T*(" @(" @=VED=&@@/2 S-#,N, T*
M(" @(" @=&5X=" ](")&;W)M('=I=&@@='EP92 R('-C<F]L;&)A<B(-"B @
M(" @('-C<F]L;$)A<B ](#()+R\@075T;PT*(" @96YD=VET: T*#0H@("!T
M:&ES+D5. 5%)91DE%3$0Q(#T@;F5W
($5.5%)91DE%3$0H=&AI<RD-"B @('=I
M=&@@*'1H:7,N14Y44EE&245,1#$I#0H@(" @("!H96EG:'0@/2 R,BXP#0H@
M(" @("!L969T(#T@,"XP#0H@(" @("!T;W @/2 P+C -"B @(" @('=I9'1H
M(#T@,3 U+C -"B @(" @('9A;'5E(#T@(D5N=')
Y9FEE;&0Q(@T*(" @96YD
M=VET: T*#0H@("!T:&ES+D5. 5%)91DE%3$0R(#T@;F5W
($5.5%)91DE%3$0H
M=&AI<RD-"B @('=I=&@@*'1H:7,N14Y44EE&245,1#(I#0H@(" @("!H96EG
M:'0@/2 R,BXP#0H@(" @("!L969T(#T@,C S+C -"B @(" @('1O<" ](#,V
M,RXP#0H@(" @("!W:61T:" ](#$Q,BXP#0H@(" @("!V86QU92 ](")%;G1R
M>69I96QD,B(-"B @(&5N9'=I=&@-"@T*(" @=&AI<RY415A43$%"14PQ(#T@
M;F5W(%1%6%1,04)%3"AT:&ES*0T*(" @=VET:" H=&AI<RY415A43$%"14PQ
M*0T*(" @(" @:&5I9VAT(#T@,C(N, T*(" @(" @;&5F=" ](#(S,2XP#0H@
M(" @("!T;W @/2 S,S N, T*(" @(" @=VED=&@@/2 X-"XP#0H@(" @("!T
M97AT(#T@(E-C<F]L;&)A<B!497-T(@T*(" @96YD=VET: T*#0H-"B @(&9U
M;F-T:6]N(&EN:70-"B @(" @('1H:7,N<V-B(#T@;F5W('-C<F]L;&EN9F\H
M=&AI<RD-"B @(" @('=I=&@H=&AI<RD-"B @(" @(" @('-C8BYN9&5E<#UE
M;G1R>69I96QD,BYT;W K96YT<GEF:65L9#(N:&5I9VAT*S4-"B @(" @(" @
M('-C8BYN=VED93UE;G1R> 69I96QD,BYL969T*V5N=
')Y9FEE;&0R+G=I9'1H
M*S4-"B @(" @(" @(&]N<VEZ92@I#0H@(" @("!E;F1W:71H#0H@("!R971U
..<FX-"F5N9&-L87-S#0H`
`
end

begin 666 scb_help.cc
M+RH@#0H@("!&:6QE.B @("!#;&%S<R!S8V)?:&5L<"YC8PT*"4%U=&]R.B @
M($UA<F,@5F%N(&1E;B!"97)G:&5N#0H@("!38W)O;&QB87(M2&5L<&5R($ML
M87-S92!F_'(@2V]N<F%D($AI<G-C: T*(" @1&%T92 Z(# Y+3 S+3 U#0H-
M"B @(%1H:7,@;V)J96-T('=I;&P@(FYO<FUA;&EZ92(@=&AE(&)E:&%V:6]U
M< B!O9B!D8F%S92!F;W)M+
7-C<F]L;&)A<G,@#0H@("!+;VYR860@2&ER<V-H
M('!O:6YT960@;W5T+"!T:& %T('1H92!B96AA=FEO=7
(@;V8@='EP92 R('-C
M<F]L;&)A<G,@:7,@#0H@("!R96%L;'D@;&]U<WD@*'-E92!T:')E860@:6X@
M3D<I#0H-"B @(%5S86=E(#H@:6X@=&AE(&]N;W!E;B!O9B!T:&4@9F]R;2 H
M;65T<FEC(#8I+"!I;G-T86YT:6%T92!A('-C<F]L;&EN9F\M;V)J96-T( T*
M(" @86YD('-E="!T:&4@;F1E97 @86YD(&YW:61E('!R;W!E<G1I97,@*'1H
M870@:7,@=&AE(&-O;W)D:6YA=&5S(&]F('1H92 -"B @(&-O;G1R;VP@870@
M=&AE(&)O='1O;2!A;F0@870@=&AE(&]U=&5R(')I9VAT*0T*(" @=&AE;B!I
M;B!T:&4@;VYS:7IE(&]F('1H92!F;W)M+" !C86QL('1H92!3971I;F
9O+6UE
M=&AO9 T*#0H@("!F;W)M+FUE=')I8R ](#8@+R\@;75S="!B92!P:7AE; T*
M(" @9F]R;2YS8W)O;&QT=6YE<B ](&YE=R!S8W)O;&QI;F9O*&9O<FTI#0H@
M("!F;W)M+G-C< F]L;'1U;F5R+FYD965P(
#T@9F]R;2YE;G1R>69I96QD.2YT
M;W K9F]R;2YE;G1R>69I96QD.2YH96EG:'0-"@EF;W)M+G-C<F]L;'1U;F5R
M+FYW:61E(#T@9F]R;2Y
E;G1R>69I96QD-"YL969T*V9O<FTN96YT<GEF:65L
M9#0N=VED=&@-"B @(&9O<FTN;VYS:7IE(#T@>SL@9F]R;2YS8W)O;&QT=6YE
M<BYS971I;F9O*"D@?0T*#0HJ+R @(" @(" @(" @(" @(" @(" @(" @(" @
M(" -" @T*(V1E9FEN92!30E](3
U):(" @(" @(" @(" @(# -"B-D969I;F4@
M4T)?5D525" @(" @(" @(" @(" Q#0HC9&5F:6YE(%-)1E]!3$P)"0D)(#<-
M" @T**BHJ*BHJ*BHJ*BHJ*
BHJ*BHJ*BHJ*BHJ*BHJ#
0HJ($)E9VEN(&]F(&-L
M87-S(%-C<F]L;&EN9F\-" BHJ*BHJ*BHJ*BHJ*BHJ*
BHJ*BHJ*BHJ*BHJ*@T*
M#0I#;&%S<R!38W)O;&Q);F9O*&]F;W)M*2!/9B!/8FIE8W0-"@T*"2I#3TY3
M5%)50U1/4@T*"71H:7,N:&]R(#T@;F5W('-C7V)A<V4H*0D)"2\O('-C<F]L
M;&EN9F\@<W1R=6-T=7)E(&9O<B!H;W(N('-C<F]L;&)A<@T*(" @=&AI<RYV
M97(@/2!N97<@<V-?8F%S92@I"0D)+R\@9F]R('9E<G1I8V%L(%-"#0H-"B @
M('1H:7,N;F1E97 @/2!O9F]R;2YH96EG:'0)"0DO+R!C;V]R9&EN871E<R!O
M9B!B;W1T;VT@8V]N=')
O; T*"71H:7,N;G=I9&4@/2!O9F]R;2YW:61T: D)
M"2\O(&UO<W0@<FEG:'0@8V]N=')O; T*(" @=&AI<RYO9F]R;2 ](&]F;W)M
M"0D)"0DO+R!R969E<F5N8V4@=&\@=&AE(&9O<FT-"@T*"71H:7,N:&]R+G-E
M=&QO;F<H,"PR."D)(" @" 0DO+R!I;FET:6%L:7IE(
'1H92!38W)O;&QI;F9O
M+5-T<G5C='5R90T*(" @=&AI<RYV97(N<V5T;&]N9R@P+#(X*2 -"B @('1H
M:7,N:&]R+G-E=&QO;F<H-"PW*2 @"0D)"2\O(&Y286YG92QN4&%G92QN<&]S
M( T*(" @=&AI<RYV97(N<V5T;&]N9R@T+#<I#0H-"B @("H@;F5E9&5D($%0
M22U&=6YC=&EO;G,@#0H@("!E>'1E<FX@8VQO9VEC86P@;79?1V5T4V-R;VQL
M:6YF;RAC:&%N9&QE+&-I;G0L8W!T<BD@=7-E<C,R(&9R;VT@(D=E=%-C<F]L
M;$EN9F\B#0H@("!E>'1E<FX@8VEN="!M=E]3971S8W)O;&QI;F9O*&-H86YD
M;&4L8VEN="QC<'1R+&-L;V=I8V%L*2!U<V5R,S(@9G)O;2 B4V5T4V-R;VQL
M26YF;R(-"B @(&5X=&5R;B!C:6YT(&UV7T=E=%-C<F]L;%!O<RAC:&%N9&QE
M+&-I;G0I('5S97(S,B!F<F]M(")'97138W)O;&Q0;W,B#0H@("!E>'1E<FX@
M8VQO;F<@;79?4V5N9$UE<W- A9V4H8VAA;F1L92QC=6E
N="QC;&]N9RQC;&]N
M9RD@=7-E<C,R(&9R;VT@(E-E;F1-97-S86=E02(-"@T*(" @9G5N8W1I;VX@
M4V5T26YF;PT*(" @"6QO8V%L('!O<RQN<"QN;6%X<V-R;VQL#0H@(" @(" O
M+R!F:7)S="!T:&4@=F5R=&EC86P@4T(@. B!F:6QL('1H92!38W)O;
&QI;F9O
M+7-T< G5C='5R92!W:71H('1H9
2!V86QU97,-"B @(" @("\O(&YE8V5S<V%R
M>2!F;W(@8V]R<F5C="!B96AA=FEO=7(-"B @(" @(&YM87AS8W)O;&P];6%X
M*# L=&AI<RYN9&5E<"TQ*2 @#0H@(" @("!T:&ES+G9E<BYS971L;VYG*#$R
M+&YM87AS8W)O;&PI#0H@(" @("!T:&ES+G9E< BYS971L;VYG*#$V+'1H:
7,N
M;V9O<FTN:&5I9VAT*0T*(" @(" @<&]S/6UV7T=E=%-C<F]L;%!O<RAT:&ES
M+F]F;W)M+FAW;F0L4T)
?5F5R="D-"B @(" @('1H:7,N=F5R+G-E=&QO;F<H
M,C L<&]S*0T*(" @(" @;G ]:'1O:2AI=&]H*'!O<RDK)S P,#0G*0T*(" @
M(" @;79?<V5N9&UE<W-A9V4H=&AI< RYO9F]R;2YH=VYD+#!X,
3$U+&YP+# I
M#0H@(" @("!M=E]S971S8W)O;&QI;F9O*'1H:7,N;V9O<FTN:'=N9"Q30E]6
M15)4+'1H:7,N=F5R+'1
R=64I( T*(" @(" @+R\@;F]W('1H92!H;W)
I>F]N
M=&%L(%-"#0H@(" @("!N;6%X<V-R;VQL/6UA>"@P+'1H:7,N;G=I9&4M,2D@
M( T*(" @(" @=&AI<RYH;W(N<V5T;&]N9R@Q,BQN;6%X<V-R;VQL*0T*(" @
M(" @=&AI<RYH;W(N<V5T;&]N9R@Q-BQT:& ES+F]F;W)M+G=I9'1H*0
T*(" @
M(" @<&]S/6UV7T=E=%-C<F]L;%!O<RAT:& ES+F]F;W)M+FAW;F0L4T
)?2&]R
M>BD-"B @(" @('1H:7,N:&]R+G-E=&QO;F<H,C L<&]S*0T*(" @(" @;G ]
M:'1O:2AI=&]H*'!O<RDK)S P,#0G*0T*(" @(" @;79?<V5N9&UE<W-A9V4H
M=&AI< RYO9F]R;2YH=VYD+#!X,
3$T+&YP+# I#0H@(" @("!M=E]S971S8W)O
M;&QI;F9O*'1H:7,N;V9O<FTN:'=N9"Q30E](3U):+'1H:7,N:&]R+'1R=64I
M( T*" 7)E='5R;@T*#0IE;F1C;
&%S<PD)"0D)" 0D)+R\O+R\O+R\O+R\@(
$5N
M9"!O9B!#;&%S<R!38W)O;&QI;F9O#0H-" BHJ*BHJ*BHJ*BHJ*BHJ*
BHJ*BHJ
M*BHJ*BHJ*BHJ#0HJ($)
E9VEN($)A<V4M0VQA<W,-"BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BH
J#0IC;&%S<R!30U]"87-E(&]F(%-T<FEN9PT*"71H
M:7,N<W1R:6YG(#T@<F5P;&EC871E*&-H<B@P*2PQ-"D-"B @(&9U;F-T:6]N
M('-E=$QO;F<H;DEN9&5X+"!N5F%L=64I" 0DO+R!S971Z92!D96X@;
&]N9R!7
M97)T(&%N(&1E< B!G97=U96YS8VAT96X@#
0H@(" @('1H:7,N<V5T0GET92AN
M26YD97@L(&)I=&%N9" AN5F%L=64L(#!X1D8I*2
@(" O+R!0;W-I=&EO;B!I
M;B!D97(@4W1R=4MT=7(
-"B @(" @=&AI<RYS971">71E*&Y);F1E>" K(#$L
M(&)I=')S:&EF="AB:71A;F0H;E9A;'5E+" P>$9&,# I+" X*2D-"B @(" @
M=&AI<RYS971">71E*&Y);F1E>" K(#(L(&)I=')S:&EF="AB:71A;F0H;E9A
M;'5E+" P>$9&,# P,"DL(#$V*2D-"B @(" @=&AI<RYS971">71E*&Y);F1E
M>" K(#,L(&)I=')S:&EF="AB:71A;F0H;E9A;'5E+" P>#=&,# P,# P*2P@
M,C0I*VEI9BAN=F%L=64
\,"PQ,C@L,"DI#0H@("!R971U<FX@#0IE;F1C;&%S
L<PD)"0D)" 0D)+R\O+R\O+R\O+R\@1
6YD(&]F($)A<V4M0VQA<W,-"@T*#0H`
`
end

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com