ACRSNA6::6:xK 0 E_ߖ݅_8ȁ#*hȍL8, FKr+/;^ʽSJUxDA{>HZ$I$y$$d$I2I$IZ$ILK$$$IL$I$I$I٘/>v<^+xo|e)1"Q ELTz":EbF,)vő87QpH'ȇDVZ(drR%&KP^TRP*UUUCjLMy6Ԏ:TgZ=( IِP500 [pR(Sttn=zPS7}O/1c0ЇyXeX؂؇83+xxȍc"MI6&SajMi3fI3g̚6\;lM JYKTJUTGA4Dc4MLCtF@̒6ɦlom v~;b']vc{ao퓕N;)Nwد~le2_0"y;= C^3b c~ cAe{ͼ=@,'T*TSbzǼ=)r\.1jxc`KW輴(4.#*@:#@K`@H|'BO .U|Q0 F(OXxf`e``-@6302G:`xf&B/f2 8Tf&'&&0! Q>I3hȩ X?rIA I ?gdddxA h6X| 0T'Bh1JUu@l P߃~ ,-WV`  " +^A]&?k> \}N=XGRRYBxm 0 E)KDu J񹮗55˨?s|B8"uG_4%Fn'fɆ{t՚;|'zFo_[)F ƒ8l rŸuBBkA~%))))))***** * ********** *"*$*&*(***,*.*0*2*4*6*8*:*<*>*@*B*D*F*H*J*L*N*P*R*T*V*X*Z*\*^*`*b*d*f*h*j*l*n*p*r*t*v*x*z*|*~*****************************************************************+++++ + ++++++++++ +"+$+&+(+*+,+.+0+2+4+6+8+:+<+>+@+B+D+F+H+J+L+N+P+R+T+V+X+Z+\+^+`+b+d+f+h+j+l+n+p+r+t+v+x+z+|+~+++++++++++++++++++++++++++++++++++++++++++++Y'{5CDB9157-E063-4C5B-B349-97AFF0F79EAF} Continue; ET #>=  5 a@l ; This sample demonstrates how to use functions from WinAPI.u32; to allow for keyboard control of Authorware's scrolling text panel.; You are free to utilize this code in your own applications.; However, GanTek Multimedia makes no assurances that this; code will meet your needs or even work! Therefore, by using; this code, you agree to do so at your own risk.; Feel free to contact Steve Gannon at GanTek Multimedia; with any comments or questions. Email correspondence is; preferred, rather than telephone. Since this is 'freeware',; GanTek Multimedia cannot promise a response to inquiries; about this program and does not 'officially' support it.; Email: steve@gantekmultimedia.com ~K$     Return5 {5 %I*$/ / 0 0 (y     zyMbP?yz(y   $ *4:  F L P###   6VZbfjt; Make a note of the current cursor coordinates/ 0 ; Set the cursor to #4. This is a 'blank' cursor.!(y!4; Move the blank cursor to the up arrow. If the display icon containing; your text panel includes other elements (e.g. a graphic border), you; will need to fiddle with the width and top offset values. For this; example, we subtract 10 from the far right of the text panel and add; 8 to the top of the text panel so that the cursor lands in the middle; of the up arrow button on the scroll bar.!z!    10&  8; Simulate a couple of mouse clicks. If your scrolling panel is really; tall, and depending on the font you use in the text panel, you may; want to adjust the repeat value to 3 or 4 so that the up arrow; button on the scroll bar gets clicked several times in order; to scroll up a few more lines at a time.. 2 1 3 2 ; Wait a fraction of a second before the next mouse click. !y! !y!.001 ; Simulate a mouse click !!2&0&0&0&0 ; left mouse down, from WinAPI.u32 !!4&0&0&0&0 ; left mouse up, from WinAPI.u32- .; Move the blank cursor back to where the arrow pointer was originally.!z!& ; Set the cursor back to the standard arrow pointer.!(y!05 pyy%/ / 0 0 (y      zyMbP?yz(y   $ *4:  FL  R V###   8\`hlpz; Make a note of the current cursor coordinates/ 0 ; Set the cursor to #4. This is a 'blank' cursor.!(y!4; Move the blank cursor to the down arrow. If the display icon containing; your text panel includes other elements (e.g. a graphic border), you; will need to fiddle with the width and top offset values. For this; example, we subtract 10 from the far right of the text panel and subtract; 8 from the bottom of the text panel so that the cursor lands in the middle; of the down arrow button on the scroll bar.!z!    10&   8; Simulate a couple of mouse clicks. If your scrolling panel is really; tall, and depending on the font you use in the text panel, you may; want to adjust the repeat value to 3 or 4 so that the down arrow; button on the scroll bar gets clicked several times in order; to scroll down a few more lines at a time.. 2 1 3 2 ; Wait a fraction of a second so that the blank cursor has time to ; move to the up arrow button on the scroll bar. !y! !y!.001 ; Simulate a mouse click !!2&0&0&0&0 ; left mouse down, from WinAPI.u32 !!4&0&0&0&0 ; left mouse up, from WinAPI.u32- .; Move the blank cursor back to where the arrow pointer was originally.!z!&; Set the cursor back to the standard arrow pointer.!(y!05 %I*$/ / 0 0 (y     zyMbP?yz(y   $ *4:  F L P###   6VZbfjt; Make a note of the current cursor coordinates/ 0 ; Set the cursor to #4. This is a 'blank' cursor.!(y!4; Move the blank cursor to the up arrow. If the display icon containing; your text panel includes other elements (e.g. a graphic border), you; will need to fiddle with the width and top offset values. For this; example, we subtract 10 from the far right of the text panel and add; 8 to the top of the text panel so that the cursor lands in the middle; of the up arrow button on the scroll bar.!z!    10&  8; Simulate multiple mouse clicks. If your scrolling panel is really; tall, and depending on the font you use in the text panel, you may; want to adjust the repeat value to 20 or so, so that the up arrow; button on the scroll bar gets clicked many times in order; to page up a few more lines at a time.. 2 1 3 10 ; Wait a fraction of a second before the next mouse click. !y! !y!.001 ; Simulate a mouse click !!2&0&0&0&0 ; left mouse down, from WinAPI.u32 !!4&0&0&0&0 ; left mouse up, from WinAPI.u32- .; Move the blank cursor back to where the arrow pointer was originally.!z!& ; Set the cursor back to the standard arrow pointer.!(y!05 *@@%/ / 0 0 (y      zyMbP?yz(y   $ *4:  FL  R V###   8\`hlpz; Make a note of the current cursor coordinates/ 0 ; Set the cursor to #4. This is a 'blank' cursor.!(y!4; Move the blank cursor to the down arrow. If the display icon containing; your text panel includes other elements (e.g. a graphic border), you; will need to fiddle with the width and top offset values. For this; example, we subtract 10 from the far right of the text panel and subtract; 8 from the bottom of the text panel so that the cursor lands in the middle; of the down arrow button on the scroll bar.!z!    10&   8; Simulate multiple mouse clicks. If your scrolling panel is really; tall, and depending on the font you use in the text panel, you may; want to adjust the repeat value to a larger value so that the down; arrow button on the scroll bar gets clicked several times in order; to scroll down several more lines at a time.. 2 1 3 10 ; Wait a fraction of a second before the next mouse click. !y! !y!.001 ; Simulate a mouse click !!2&0&0&0&0 ; left mouse down, from WinAPI.u32 !!4&0&0&0&0 ; left mouse up, from WinAPI.u32- .; Move the blank cursor back to where the arrow pointer was originally.!z!&; Set the cursor back to the standard arrow pointer.!(y!05 Qo @SM_MOUSEWHEELPRESENT  ! ; In addition to keyboard control, it would be nice to offer your; program users a way of scrolling the text panel using the scroll; wheel found on most mouse devices today. You could use code; similar to that in the interaction icon above this calc if you; could trap for scroll wheel movement.; WinAPI.u32 does provide a way to check for the existence of a; mouse scroll wheel:!!SM_MOUSEWHEELPRESENT; If the number returned to our custom variable 'Scroll_Wheel'; is anything but 0 (zero), the user's mouse has a scroll wheel.; Unfortunately, checking to see if the scroll wheel has been; moved, and in which direction, isn't possible via WinAPI.u32 alone; (at least not as far as we at GanTek can tell!). You can't use; WinAPI.u32's mouse_event function because it was designed to *send*; commands; it doesn't *return* any values.; If you need scroll wheel support, have a look at MagicSoft's; free scroll wheel example:; http://www.xtra-ucd.com/pages/downfile.php?id=14&link=0; ...or their more powerful MagicMouse.u32:; http://www.xtra-ucd.com/pages/page.php?language=en&product=ucd#MagicMouse xcaa``!F(100(wӳ%Of,?ƾ(MlyyJ S_lXQpg;ǎ_djeZ7vx] @,C$xB&xce`b``d`Hr1rIN:T mouse_eventGetSystemMetricsGetSystemMetricsxcdb`d```b( bg̪Ēļ<ORc#54!uXT21ئļ@SX V @20Jb%IL  xce`b`db b6P (cb`"&,bm"U9X4Uxcd`b`bb bJL `1F#P(0Xs^&>$xcfb`B&V $#LE#xce`adX29$d<`L22$EA40!D? SCpeqIj.N5l) xN1 @oP%V6ޡi,p|@ycrY Yl+/Zy4alFjC:osY53ԉ' v6x-1NA ENM(Er***@4Pfv= = ҟ}=7s_ȵd8{ޡJh2HP+ ãQQ@.a&25Ml\J>+q&lDQS[$XVQ-ZxYb#RBH-BҩĎM ͦKm-$ 'k )& .P|-blEO+Y!u~q xyTLaƿОm."KdɾL Sn5436!RȾl}-oBTȖ廧scs{o7\)13#zlGM\ uq~zap1hXΌ # UexP0%zGOPzz 4xaGFR{f}5chuqа&N<ɷ=y<=37osPӷߋfٲmg{v>=: {s?^}99~S7w\v\lmܰuک>3•WHvGEZcO YŌM 3O<}wގrίOS=r>fC8y p܋_.|צN3={ƫ7o%}} >>zl[䜨ys矉^`K-?bk;~݆? 7YxmkAǿ#Rhis#5 BH#)"8rkv-3l1B;kDF Xhm_`s~wr`|O`g{ ۷~ [<7#fPy#|5C3h1?RI*IAv kuYd62*mrۓ";U]:]ň(Eh+Sm$^bQ5%YN2V;~1V6kR6aZ6:/Kn"h/xxc`@'CWV@Oj$@B@ @O@J@b%@++&@hR0 @t"1 @&1 @((1 @1 @l1 @ a2@k2@H}2@9n2@ ,2@3@T,3 @3@dR4"@H5(@b54@48@:V5ld&(=~\#jtbF526Z7by-#-b#~ԽC"Zķ؟%6UEkx/Tclk)nܶm āt7Kw9)+v>b1iqiI ?^o0%nO&'nk-|ӑ4[+ϰ`|;֠4Wd[|zo9 =_|I#7fz_ImJ\v>; b8>c4戮dfN1JXߐ`(~`;Nf]2)32eeGr_*j28Igɞky=y{Q;ߙ6͇1eڛ˚c -kY)תKЏĤIܪM&` 8HHSyV9& %3FѱmWC&X r#Y9ȏj}