Sign in Join
Wiki copytemporary

New LCL shortcut system

This page collects ideas about improving system of shortcuts in LCL.

Current state

pascal
TShortCut = Low(Word)..High(Word); // in classes.pp unit
 
// virtual key codes VK_*
Key := ShortCut and $FF; 
 
// key modifiers
Meta    := ShortCut and $1000; // scMeta
Shift   := ShortCut and $2000; // scShift
Control := ShortCut and $4000; // scControl
Alt     := ShortCut and $8000; // scAlt

Unused bits in TShortCut: $0F00

Requirements

  1. backward compatibility
    • accept current TShortCut format
    • new format can use only unused bits in current TShortCut format
  2. secondary, ternary shortcuts
  3. platform-specific shortcuts (E.g. Ctrl+C under Windows, Cmd+C under Mac OS X)
  4. shortcuts also with characters (E.g. Cmd+?)

Conclusion

TLCLShortCut class


From the Free Pascal wiki, page "New LCL shortcut system", as it stood on 2020-02-21 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Edited on wiki.freepascal.org by 5 people, 2008–2020

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
TomboNew page: This page collects ideas about improving system of shortcuts in LCL. ==Current state== TShortCut = Low(Word)..High(Word); // in classes.pp unit // virtual key codes VK_* Key := Shor...
TomboCurrent state (minor)
Tombo
TomboRequirements (minor)
TomboRequirements
TomboConclusion
TomboConclusion (minor)
TomboConclusion
Chronos
Chronos
Chronoscode highlighting
VincentText replace - "delphi>" to "syntaxhighlight>" (minor)
GgeldenhuysRequirements: - applied wiki shortcut styling (minor)
TrevFixed syntax highlighting (minor)

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.