initial commit
[rofl0r-KOL.git] / mckAccEditor.inc
blob808f5f2864aa8dcb910ae7bf5e020ec91fb4475b
1 type\r
2   TKOLAccEdit = class(TForm)\r
3   public\r
4     btOK: TButton;\r
5     edAcc: TEdit;\r
6     btCancel: TButton;\r
7     procedure FormKeyDown(Sender: TObject; var Key: Word;\r
8       Shift: TShiftState);\r
9     procedure btOKClick(Sender: TObject);\r
10     procedure btCancelClick(Sender: TObject);\r
11   private\r
12     { Private declarations }\r
13   public\r
14     { Public declarations }\r
15     constructor Create( AOwner: TComponent ); override;\r
16   end;\r
18 var\r
19   KOLAccEdit: TKOLAccEdit;\r
21 implementation\r
23 procedure TKOLAccEdit.FormKeyDown(Sender: TObject; var Key: Word;\r
24   Shift: TShiftState);\r
25 var S, K: String;\r
26 begin\r
27   if (Key = VK_CONTROL) or (Key = VK_SHIFT) or (Key = VK_MENU) then Exit;\r
28   if Shift * [ ssShift, ssAlt, ssCtrl ] = [ ] then Exit;\r
29   S := '';\r
30   if ssCtrl in Shift then S := S + 'Ctrl+';\r
31   if ssAlt in Shift then S := S + 'Alt+';\r
32   if ssShift in Shift then S := S + 'Shift+';\r
33   case Key of\r
34   VK_CANCEL       : K := 'Cancel'            ;\r
35   VK_BACK         : K := 'Back'              ;\r
36   VK_TAB          : K := 'Tab'               ;\r
37   VK_CLEAR        : K := 'Clear'             ;\r
38   VK_RETURN       : K := 'Enter'             ;\r
39   VK_PAUSE        : K := 'Pause'             ;\r
40   VK_CAPITAL      : K := 'CapsLock'          ;\r
41   VK_ESCAPE       : K := 'Escape'            ;\r
42   VK_SPACE        : K := 'Space'             ;\r
43   VK_PRIOR        : K := 'PgUp'              ;\r
44   VK_NEXT         : K := 'PgDn'              ;\r
45   VK_END          : K := 'End'               ;\r
46   VK_HOME         : K := 'Home'              ;\r
47   VK_LEFT         : K := 'Left'              ;\r
48   VK_UP           : K := 'Up'                ;\r
49   VK_RIGHT        : K := 'Right'             ;\r
50   VK_DOWN         : K := 'Down'              ;\r
51   VK_SELECT       : K := 'Select'            ;\r
52   VK_EXECUTE      : K := 'Execute'           ;\r
53   VK_SNAPSHOT     : K := 'PrintScreen'       ;\r
54   VK_INSERT       : K := 'Insert'            ;\r
55   VK_DELETE       : K := 'Delete'            ;\r
56   VK_HELP         : K := 'Help'              ;\r
57   $30..$39, $41..$5A : K := Char( Key );\r
58   VK_LWIN         : K := 'LWin'              ;\r
59   VK_RWIN         : K := 'RWin'              ;\r
60   VK_APPS         : K := 'Apps'              ;\r
61   VK_NUMPAD0      : K := 'Num0'              ;\r
62   VK_NUMPAD1      : K := 'Num1'              ;\r
63   VK_NUMPAD2      : K := 'Num2'              ;\r
64   VK_NUMPAD3      : K := 'Num3'              ;\r
65   VK_NUMPAD4      : K := 'Num4'              ;\r
66   VK_NUMPAD5      : K := 'Num5'              ;\r
67   VK_NUMPAD6      : K := 'Num6'              ;\r
68   VK_NUMPAD7      : K := 'Num7'              ;\r
69   VK_NUMPAD8      : K := 'Num8'              ;\r
70   VK_NUMPAD9      : K := 'Num9'              ;\r
71   VK_MULTIPLY     : K := '*'                 ;\r
72   VK_ADD          : K := '+'                 ;\r
73   VK_SEPARATOR    : K := ';'                 ;\r
74   VK_SUBTRACT     : K := '-'                 ;\r
75   VK_DECIMAL      : K := ','                 ;\r
76   VK_DIVIDE       : K := '/'                 ;\r
77   VK_F1           : K := 'F1'                ;\r
78   VK_F2           : K := 'F2'                ;\r
79   VK_F3           : K := 'F3'                ;\r
80   VK_F4           : K := 'F4'                ;\r
81   VK_F5           : K := 'F5'                ;\r
82   VK_F6           : K := 'F6'                ;\r
83   VK_F7           : K := 'F7'                ;\r
84   VK_F8           : K := 'F8'                ;\r
85   VK_F9           : K := 'F9'                ;\r
86   VK_F10          : K := 'F10'               ;\r
87   VK_F11          : K := 'F11'               ;\r
88   VK_F12          : K := 'F12'               ;\r
89   VK_F13          : K := 'F13'               ;\r
90   VK_F14          : K := 'F14'               ;\r
91   VK_F15          : K := 'F15'               ;\r
92   VK_F16          : K := 'F16'               ;\r
93   VK_F17          : K := 'F17'               ;\r
94   VK_F18          : K := 'F18'               ;\r
95   VK_F19          : K := 'F19'               ;\r
96   VK_F20          : K := 'F20'               ;\r
97   VK_F21          : K := 'F21'               ;\r
98   VK_F22          : K := 'F22'               ;\r
99   VK_F23          : K := 'F23'               ;\r
100   VK_F24          : K := 'F24'               ;\r
101   VK_NUMLOCK      : K := 'NumLock'           ;\r
102   VK_SCROLL       : K := 'ScrollLock'        ;\r
103   VK_ATTN         : K := 'ATTN'              ;\r
104   VK_CRSEL        : K := 'CRSel'             ;\r
105   VK_EXSEL        : K := 'EXSel'             ;\r
106   VK_EREOF        : K := 'EREOF'             ;\r
107   VK_PLAY         : K := 'Play'              ;\r
108   VK_ZOOM         : K := 'Zoom'              ;\r
109   VK_NONAME       : K := 'Noname'            ;\r
110   VK_PA1          : K := 'PA1'               ;\r
111   VK_OEM_CLEAR    : K := 'OEMClear'          ;\r
112   else K := '';\r
113   end;\r
114   if K <> '' then\r
115     edAcc.Text := S+K;\r
116 end;\r
118 procedure TKOLAccEdit.btOKClick(Sender: TObject);\r
119 begin\r
120   ModalResult := mrOK;\r
121 end;\r
123 procedure TKOLAccEdit.btCancelClick(Sender: TObject);\r
124 begin\r
125   ModalResult := mrCancel;\r
126 end;\r
128 constructor TKOLAccEdit.Create(AOwner: TComponent);\r
129 begin\r
130   CreateNew(AOwner);\r
132   Left := 208                              ;\r
133   Top := 213                               ;\r
134   BorderIcons := [biSystemMenu]            ;\r
135   BorderStyle := bsToolWindow              ;\r
136   Caption := 'Enter accelerator key for '  ;\r
137   ClientHeight := 38                       ;\r
138   ClientWidth := 317                       ;\r
139   Color := clBtnFace                       ;\r
140   //Font.Charset := DEFAULT_CHARSET        ;\r
141   //Font.Color := clWindowText             ;\r
142   //Font.Height := -11                     ;\r
143   //Font.Name := 'MS Sans Serif'           ;\r
144   //Font.Style := []                       ;\r
145   KeyPreview := True                       ;\r
146   //OldCreateOrder := False                ;\r
147   Scaled := False                          ;\r
148   OnKeyDown := FormKeyDown                 ;\r
149   //PixelsPerInch := 96                    ;\r
150   //TextHeight := 13                       ;\r
152   btOK := TButton.Create( Self )           ;\r
153   btOK.Parent := Self                      ;\r
154   btOK.Left := 154                         ;\r
155   btOK.Top := 6                            ;\r
156   btOK.Width := 75                         ;\r
157   btOK.Height := 25                        ;\r
158   btOK.Caption := 'OK'                     ;\r
159   btOK.Default := True                     ;\r
160   //btOK.TabOrder := 0                     ;\r
161   btOK.OnClick := btOKClick                ;\r
163   btCancel := TButton.Create( Self )       ;\r
164   btCancel.Parent := Self                  ;\r
165   btCancel.Left := 236                     ;\r
166   btCancel.Top := 6                        ;\r
167   btCancel.Width := 75                     ;\r
168   btCancel.Height := 25                    ;\r
169   btCancel.Cancel := True                  ;\r
170   btCancel.Caption := 'Cancel'             ;\r
171   //btCancel.TabOrder := 1                 ;\r
172   btCancel.OnClick := btCancelClick        ;\r
174   edAcc := TEdit.Create( Self );           ;\r
175   edAcc.Parent := Self;                    ;\r
176   edAcc.Left := 10                         ;\r
177   edAcc.Top := 6                           ;\r
178   edAcc.Width := 135                       ;\r
179   edAcc.Height := 21                       ;\r
180   edAcc.Color := clBtnFace                 ;\r
181   edAcc.ReadOnly := True                   ;\r
182   edAcc.TabOrder := 2                      ;\r
184 end;\r