Board logo

标题: 用QB4。5写的鼠标函数,启动时此格式 QB/L [打印本页]

作者: qb45     时间: 2003-9-15 00:00    标题: 用QB4。5写的鼠标函数,启动时此格式 QB/L

'$INCLUDE: 'qb.bi'
Mouse.Setrage 0, 0, 640, 480
SCREEN 12
Mouse.Show
LINE (100, 100)-STEP(50, 50), 3, BF
DO
  k$ = INKEY$
  IF k$ = chr$(27) THEN EXIT DO
  IF Mouse.down(2) THEN PRINT "right key"
  DO WHILE Mouse.InBox(100, 100, 50, 50)
     IF Mouse.down(1) THEN
        PRINT "ok"
        end
     END IF
  LOOP
LOOP

SUB Mouse (m1%, m2%, m3%, m4%)
    DIM inreg  AS RegType, outreg AS RegType
    inreg.ax = m1%
    inreg.bx = m2%
    inreg.cx = m3%
    inreg.dx = m4%
    INTERRUPT &H33, inreg, outreg
    m1% = outreg.ax
    m2% = outreg.bx
    m3% = outreg.cx
    m4% = outreg.dx
END SUB

FUNCTION Mouse.down (button%)
         Mouse 3, Mouse.button%, x%, y%
         Mouse.down = 0
        IF button% = 1 THEN
           IF Mouse.button% = 1 THEN Mouse.down = -1
        END IF
        IF button% = 2 THEN
           IF Mouse.button% = 2 THEN Mouse.down = -1
        END IF
END FUNCTION

SUB Mouse.Hide
    Mouse 2, 0, 0, 0
END SUB

FUNCTION Mouse.InBox (box.x, box.y, box.w, box.h)
        box.x1 = box.x + box.w: box.y1 = box.y + box.h
        Mouse.InBox = 0
        IF Mouse.X > box.x AND Mouse.Y > box.y THEN
              IF Mouse.X < box.x1 AND Mouse.Y < box.y1 THEN Mouse.InBox = -1
        END IF
END FUNCTION

SUB Mouse.Setrage (x%, y%, W%, H%)
    Mouse 7, 0, x%, x% + W%
    Mouse 8, 0, y%, y% + H%
END SUB

SUB Mouse.Show
    Mouse 1, 0, 0, 0
END SUB

SUB Mouse.State (x%, y%, Mouse.button%)
    Mouse 3, Mouse.button%, x%, y%
END SUB

FUNCTION Mouse.X
    Mouse 3, Mouse.button%, x%, y%
    Mouse.X = x%

END FUNCTION

FUNCTION Mouse.Y
    Mouse 3, Mouse.button%, x%, y%
    Mouse.Y = y%
END FUNCTION[em09]
作者: lemonhall     时间: 2003-9-16 00:00
大哥,这个例程在VB1。0里是作为例子的。
作者: qb45     时间: 2003-9-16 00:00
vb1.0没用过啊!
作者: qb45     时间: 2003-9-16 00:00
不知道VB1。0里面有没有读写硬盘主引导区的例子啊?
有的话发重了就更不好意思啦!
望诸位不吝赐教!