#INCLUDE FBSLSETTEXT(ME, "Hello world! ") RESIZE(ME, 0, 0, 220, 0) CENTER(ME) SHOW(ME) SetTimer(ME, 1000, 100, NULL) BEGIN EVENTS STATIC bForward AS BOOLEAN = TRUE IF CBMSG = WM_TIMER THEN Marquee(bForward) RETURN 0 ELSEIF CBMSG = WM_NCLBUTTONDOWN THEN IF CBWPARAM = HTCAPTION THEN bForward = NOT bForward ELSEIF CBMSG = WM_CLOSE THEN KillTimer(ME, 1000) END IF END EVENTS SUB Marquee(BYVAL forward AS BOOLEAN) STATIC caption AS STRING = FBSLGETTEXT(ME) STATIC length AS INTEGER = STRLEN(caption) IF forward THEN caption = RIGHT(caption, 1) & LEFT(caption, length - 1) ELSE caption = MID(caption, 2) & LEFT(caption, 1) END IF FBSLSETTEXT(ME, caption) END SUB