$INCLUDE "RAPIDQ.INC"
DECLARE SUB DrawScreen
DECLARE SUB XMouseMove(curX,curY)
DECLARE SUB XClick
DIM Form AS QFORM
Form.ClientHeight = 480
Form.ClientWidth = 640
DIM ScreenX AS QDXSCREEN
ScreenX.PARENT = Form
ScreenX.Init(640, 480)
ScreenX.Align = alClient
DIM curItem
DIM oldItem
DIM Nitem
DIM x(10)
DIM y(10)
DIM Mstr$(10)
Nitem=3
curItem=0
oldItem=0
DIM i
FOR i=1 TO Nitem
x(i)=100
y(i)=100+(i-1)*40
NEXT i
Mstr$(1)="ON"
Mstr$(2)="OFF"
Mstr$(3)="Exit"
Form.OnPaint=DrawScreen
ScreenX.OnMouseMove=XMouseMove
ScreenX.OnClick=XClick
Form.SHOWMODAL
SUB DrawScreen
FOR i=1 TO Nitem
ScreenX.TextOut(x(i),y(i),Mstr$(i),RGB(200,0,0),RGB(0,0,0))
NEXT i
ScreenX.Flip
END SUB
SUB XMouseMove(curX,curY)
curItem=0
FOR i=1 TO Nitem
IF curX>x(i) AND curX<(x(i)+ScreenX.TextWidth(Mstr$(i))) AND curY>y(i) AND curY<(y(i)+ScreenX.TextHeight(Mstr$(i))) THEN
curItem=i
EXIT FOR
END IF
NEXT i
IF oldItem>0 THEN ScreenX.TextOut(x(oldItem),y(oldItem),Mstr$(oldItem),RGB(200,0,0),RGB(0,0,0))
IF curItem>0 THEN ScreenX.TextOut(x(curItem),y(curItem),Mstr$(curItem),RGB(0,200,0),RGB(0,0,0))
oldItem=curItem
ScreenX.Flip
END SUB
SUB XClick
SELECT CASE curItem
CASE 0:
ScreenX.TextOut(x(1),y(Nitem)+40,"No selection. ",RGB(0,0,255),RGB(0,0,0))
CASE 1:
ScreenX.TextOut(x(1),y(Nitem)+40,"Your selection is ON. ",RGB(0,0,255),RGB(0,0,0))
CASE 2:
ScreenX.TextOut(x(1),y(Nitem)+40,"Your selection is OFF.",RGB(0,0,255),RGB(0,0,0))
CASE 3:
END
END SELECT
ScreenX.Flip
END SUB
|