Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Button and Shift Arguments
◄Example► ◄Contents► ◄Index► ◄Back►
──────────────────────────────────────────────────────────────────────────────
Button and Shift Arguments
■ If you need to test for the Button or Shift arguments in a MouseDown,
MouseUp, or MouseMove event, you can declare constants that define the
bits within the argument by loading the CONSTANT.BI file into each module
using the $INCLUDE metacommand.
■ The mouse button constants have the following values:
Constant Value
════════════ ═══════════════════════════════════════════════
LEFT_BUTTON 1
RIGHT_BUTTON 2
SHIFT_MASK 1
CTRL_MASK 2
ALT_MASK 4
■ The constants act as bit masks you can use to test for any combination
of buttons without having to figure out the unique bit field value for
each combination.
■ You test for a condition by first assigning each result to a temporary
integer variable and then comparing the Button or Shift arguments to a bit
mask. Use the AND operator with each argument to test if the condition is
greater than zero, indicating the key or button is pressed. For example:
LeftDown% = (Button AND Left_BUTTON) > 0
CtrlDown% = (Shift AND CTRL_MASK) > 0
Then, in a procedure, you can test for any combination of conditions. For
example:
IF LeftDown% AND CtrlDown% THEN
■ You can use MouseDown and MouseUp to respond to events caused by pressing
and releasing mouse buttons.
■ The Button argument for MouseMove differs from the Button argument used
for MouseDown and MouseUp. For MouseMove, Button indicates the current
state of all buttons; a single MouseMove event may indicate that some,
all, or no buttons are pressed. For MouseDown or MouseUp, Button indicates
exactly one button per event.
See Also
◄Click Event► ◄DblClick Event►
◄MouseDown Event► ◄MouseMove Event►
◄MouseUp Event►