[Back to MOUSE SWAG index] [Back to Main SWAG index] [Original]

    {
     DR> Hello I was wondering how I might be able to load a batch
     DR> file under Turbo Pascal. I was also wondering how to
     DR> change how the mouse symbol looks like when you install
     DR> the mouse in your programs. Thank you.
    }
    Type
            CursorData  = Array [1..32] of Word;

            ArrowMask : CursorData = ($7fff,$3fff,$1fff,$0fff,
                                      $07ff,$03ff,$01ff,$00ff,
                                      $007f,$03ff,$03ff,$29ff,
                                      $71ff,$f0ff,$faff,$f8ff,

                                      $8000,$C000,$A000,$9000,
                                      $8800,$8400,$8200,$8100,
                                      $8f80,$9400,$b400,$d200,
                                      $8a00,$0900,$0500,$0700);

            HourGlassMask : CursorData = ($0000,$0000,$0000,$c003,
                                          $e007,$f00f,$F81F,$fc3f,
                                          $fc3F,$F81F,$F00F,$e007,
                                          $c003,$0000,$0000,$0000,

                                          $0000,$7ffe,$0000,$1ff8,
                                          $0ff0,$0000,$0000,$0000,
                                          $0180,$0340,$07e0,$0e78,
                                          $1818,$0000,$7ffe,$0000);

    Var
            Regs    : Registers;

    Procedure SetMouseCursor(CursorMask : CursorData);

    Begin
            Regs.AX := $0009;
            Regs.BX := $0004;
            Regs.CX := $0004;
            Regs.ES := Seg(CursorMask);
            Regs.DX := Ofs(CursorMask);
            Intr($33,Regs);
    End;

    Here's a little routine I used to change my cursor from an arrow to an
    hour-glass and back.... You can design your own cursors by following my
    examples. The First 16 Words of the array are the cursor the next 16 are
    the mask.

[Back to MOUSE SWAG index] [Back to Main SWAG index] [Original]