ImageEn, unit imageenview

TImageEnView.ShiftKeyLock

TImageEnView.ShiftKeyLock


Declaration

property ShiftKeyLock: TIEShiftLock;


Description

Forces the application of the ssCtrl, ssShift or ssAlt key.

The shift keys have the following effects:

Ctrl Key
 When creating a selection, it removes from the existing selection
 Change to horizontal scrolling when using mouse wheel if MouseWheelParams.Action = iemwVScroll
 When using cursor keys it sizes the selection or layer (instead of moving it)
 When editing layer points (mlEditLayerPoints), it removes the point being clicked
 When clicking a layer it creates a clone (if loCtrlClickToCopy is specified in LayerOptions)
 When using the BrushTool (and OpacityEnabled is enAuto) the brush transparency will be affected by pen pressure

Shift Key
 When creating a selection, it adds to the existing selection (EnableShiftKey)
 When selecting layers, it adds the selected layer to the multiple selection
 When using cursor keys to move or size the selection or layer, it increases the movement by 10x
 When rotating using miRotateTool it forces 45 deg. increments (or MouseRotateShiftStep)
 When rotating a layer it forces 45 deg. angles (or LayersRotateStep)
 When drawing a TIELineLayer, TIEPolylineLayer or TIEAngleLayer it forces lines at 45 deg. angles (or LayersRotateStep)
 When rotating the Crop Tool (miCropTool) it forces 15 deg. increments)
 When creating a curve using the Alt key and mlEditLayerPoints, the curve will be a perfect half-circle
 When filling using miColorFill or miAlphaFill it enables MaxFilter and increases the color tolerance
 When using the BrushTool the brush position will be snapped to the axes

Alt Key
 When editing layer points (mlEditLayerPoints), it converts the line being dragged into a curve
 When creating/sizing a selection it forces a perfect square/circular selection
 When creating/sizing a layer it maintains the aspect ratio
 When using the BrushTool (and BrushSizeEnabled is enAuto) the brush size will be affected by pen pressure

Use ShiftKeyLock to force any of these behaviours:
Value Description
iessCtrl_SubFromSel When creating a selection, it remove from the existing selection
iessCtrl_KeySizing When using cursor keys it sizes the selection or layer (instead of moving it)
iessCtrl_DelPoint When editing layer points (mlEditLayerPoints), it removes the point being clicked
iessShift_AddToSel When creating a selection, it adds to the existing selection
iessShift_AddLyrSel When selecting layers, it adds the selected layer to the multiple selection
iessShift_FastMove When using cursor keys to move or size the selection or layer, it increases the movement by 10x
iessShift_RotateLock When rotating images, layers or crop selections it forces 45 deg. increments
iessShift_LineLock When drawing a TIELineLayer, TIEPolylineLayer or TIEAngleLayer it forces 45 deg. angles
iessShift_CircularCurve When creating a curve using the Alt key and mlEditLayerPoints, the curve will be a perfect half-circle
iessShift_MoveSnapping When drawing with a brush, movement is snapped along axes
iessAlt_Curve When editing layer points, it converts the line being dragged into a curve
iessAlt_MaintainAR When creating/sizing a selection or layer it maintains the aspect ratio
iessAlt_InvertWheel Change to horizontal scrolling when using the mouse wheel in TImageEnView

Default: []


Example

// Force selections to add to existing ones
ImageEnView1.ShiftKeyLock := [ iessShift_AddToSel ];

// Force 45 deg angles for lines, and perfectly square or circular selections
ImageEnView1.ShiftKeyLock := [ iessShift_RotateLock, iessAlt_MaintainAR ];

// Force image sizing to maintain the aspect ratio
ImageEnView1.ShiftKeyLock := [ iessAlt_MaintainAR ];

// Select whole image and allow user to deselect circular regions
With ImageEnView1 do
begin
  SelectionBase := iesbBitmap;
  Select( 0, 0, IEBitmap.Width, IEBitmap.Height );
  ShiftKeyLock  := [ iessCtrl_SubFromSel ];
  MouseInteractGeneral := [ miSelectCircle ];
end;


See Also

 KeyboardShortcuts
 ImageEn Keyboard Properties