[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Forms' (#lcl)

# ShiftStateToKeys

Converts a shift state into a key state value compatible with the key state of a Windows API LParam.

## Declaration

Source position: forms.pp line 1946

`function ShiftStateToKeys(`
`ShiftState: TShiftState`
`):PtrUInt;`

## Arguments

`ShiftState` |  | Set type with the TShiftStateEnum values examined in the routine.

## Function result

PtrUInt type with the address for the value representing the specified ShiftState enumeration values.

## Description

The return value is a PtrUInt type and contains an OR'ed combination of the following constants:

- MK_Shift
- MK_Control
- MK_LButton
- MK_RButton
- MK_MButton
- MK_XBUTTON1
- MK_XBUTTON2

## See also

TShiftState
KeysToShiftState |  | Converts modifier keys in the LParam for a mouse message to a TShiftState value.
KeyDataToShiftState |  | Converts modifier keys from the LParam in a keyboard message (WM_KEYUP for example) to a TShiftState value.
MK_SHIFT |  | A key state constant to represent the shift key, equivalent to ssShift from TShiftState.
MK_CONTROL |  | A key state constant to represent the control key, equivalent to ssCtrl from TShiftState.
MK_LBUTTON |  | A key state constant to represent the left mouse button, equivalent to ssLeft from TShiftState.
MK_RBUTTON |  | A key state constant to represent the right mouse button, equivalent to ssRight from TShiftState.
MK_MBUTTON |  | A key state constant to represent the middle mouse button, equivalent to ssMiddle from TShiftState.
MK_XBUTTON1 |  | A key state constant to represent the first extra mouse button, equivalent to ssExtra1 from TShiftState.
MK_XBUTTON2 |  | A key state constant to represent the second extra mouse button, equivalent to ssExtra2 from TShiftState.