ô Scroll Bar Demo ô (C) 2006 Jon Ripley  î … ò_Error  ò_Initialise  î … ò_Error  +î ì ò_OnMove(@msg%,@wparam%,@lparam%):ø  õ ò_CheckScrollKeys(¦(0)) ý £: ô Loop forever   Ý ò_Initialise 0 "SetWindowText", @hwnd%, "Scroll Bar Demo" ô Initialise scroll bars ]Þ scrollbar{x{min%, max%, current%, unit%, page%}, y{min%, max%, current%, unit%, page%}} /scrollbar.x.min% = 0:scrollbar.x.max% = 100 0scrollbar.x.unit% = 2:scrollbar.x.page% = 10 H "SetScrollRange", @hwnd%, 0, scrollbar.x.min%, scrollbar.x.max%, £ 6 "SetScrollPos", @hwnd%, 0, scrollbar.x.min%, £ /scrollbar.y.min% = 0:scrollbar.y.max% = 100 0scrollbar.y.unit% = 2:scrollbar.y.page% = 10 H "SetScrollRange", @hwnd%, 1, scrollbar.y.min%, scrollbar.y.max%, £ 6 "SetScrollPos", @hwnd%, 1, scrollbar.y.min%, £ $ "ShowScrollBar", @hwnd%, 3, ¹ á  $Ý ò_OnMove(msg%,wparam%,lparam%) ô Decode message ê wlo%,whi%,llo%,lhi% 1whi%=wparam%>>16 € &FFFF:wlo%=wparam% € &FFFF 1lhi%=lparam%>>16 € &FFFF:llo%=lparam% € &FFFF È @msg% Ê "É 276: ô Horizontal scroll bar È wlo% Ê >É 0:ò_Scroll(0, -scrollbar.x.unit%):ô Scroll left one unit ?É 1:ò_Scroll(0, scrollbar.x.unit%):ô Scroll right one unit >É 2:ò_Scroll(0, -scrollbar.x.page%):ô Scroll left one page ?É 3:ò_Scroll(0, scrollbar.x.page%):ô Scroll right one page /É 4:ò_Scroll(2, whi%):ô Scroll set position 2É 5:ò_Scroll(2, whi%):ô Scroll passing through É 8:ô End of scroll Ë É 277: ô Vertical scroll bar È wlo% Ê <É 0:ò_Scroll(1, -scrollbar.y.unit%):ô Scroll up one unit >É 1:ò_Scroll(1, scrollbar.y.unit%):ô Scroll down one unit >É 2:ò_Scroll(1, -scrollbar.y.page%):ô Scroll down one page <É 3:ò_Scroll(1, scrollbar.y.page%):ô Scroll up one page /É 4:ò_Scroll(3, whi%):ô Scroll set position 2É 5:ò_Scroll(3, whi%):ô Scroll passing through É 8:ô End of scroll Ë Ë á  ô Position scroll bar Ý ò_Scroll(bar%, dif%) ê set%, ptr% set% = bar% € 2 bar% = bar% € 1 ,ç bar% = 0 Œ ptr% = scrollbar.x.current% ,ç bar% = 1 Œ ptr% = scrollbar.y.current% 'ç set% Œ ptr% = dif% ‹ ptr% += dif% ç bar% = 0 Œ 7ç ptr% < scrollbar.x.min% Œ ptr% = scrollbar.x.min% 7ç ptr% > scrollbar.x.max% Œ ptr% = scrollbar.x.max% scrollbar.x.current% = ptr% Í ç bar% = 1 Œ 7ç ptr% < scrollbar.y.min% Œ ptr% = scrollbar.y.min% 7ç ptr% > scrollbar.y.max% Œ ptr% = scrollbar.y.max% scrollbar.y.current% = ptr% Í + "SetScrollPos", @hwnd%, bar%, ptr%, 1 á  )ô Test scroll bar related key presses Ý ò_CheckScrollKeys(key%) È key% Ê 3É 130:ò_Scroll(1, -scrollbar.y.current%):ô Home CÉ 131:ò_Scroll(1, scrollbar.y.max%-scrollbar.y.current%):ô End 4É 132:ò_Scroll(1, -scrollbar.y.page%):ô PageDown 2É 133:ò_Scroll(1, scrollbar.y.page%):ô PageUp GÉ 138, 140:ò_Scroll(1, scrollbar.y.unit%):ô Up arrow/Mouse wheel up LÉ 139, 141:ò_Scroll(1, -scrollbar.y.unit%):ô Down arrow/Mouse wheel down 6É 136:ò_Scroll(0, -scrollbar.x.unit%):ô Left arrow 7É 137:ò_Scroll(0, scrollbar.x.unit%):ô Right arrow Ë á  Ý ò_Error ç Ÿ=17 á ê r% m "MessageBox", @hwnd%, "Internal error ("+ö$+":"+Þ+"). Quit program ?", "An error has occured", 52 ¸ r% ç r% = 6 Œ  á  ÿÿ