Metoda Short Cut
Jest to najbardziej
skomplikowana metoda z tych trzech zaprezentowanych (por. Metoda Key Press i Metoda Hot Key). Służy ona do
tworzenia skrótów klawiaturowych z użyciem klawiszy rozszerzonych
Ctrl i Alt oraz ich połączenia, czyli Ctrl+Alt+klawisz. Jak widzimy
po tabeli skrótów, obejmuje ona znaczną ich część. W sumie, za
jej pomocą utworzyliśmy aż 165 skrótów. Każdy z nich będzie
generował osobną procedurę o nazwie Procedura 1, 2, 3 aż do 165.
W jej obrębie zawarliśmy naszą procedurę „Opcja niedostępna”,
którą Czytelnik-programista może wymienić na inny zbiór poleceń
do wykonania.
Wszystkie informacje o
stworzonych skrótach zawieramy w tablicy rekordów o nazwie
ShortCutArray, którą wypełniamy danymi przy uruchomieniu programu
(FormCreate):
ShortCutArray[0].sShortCut
:= TextToShortCut('Alt+`');
ShortCutArray[0].pAction
:= Procedura1;
Każda komórka tablicy
zawiera dwie dane: tworzony przez nas skrót oraz nazwę procedury,
która ma zostać wykonana po uruchomieniu tego skrótu. Zauważmy,
że skrót wpisujemy w postaci tekstowej, który dopiero podlega
konwersji (TextToShortCut) do postaci skrótu klawiaturowego. W
metodzie tej nie stosujemy więc kodów klawiszy, tylko ich tekstowe
odpowiedniki.
Aby
móc skorzystać z metody Short Cut musimy do sekcji uses
dołączyć odpowiedni moduł, co też robimy, dopisując po
przecinku słowo Menus.
Po deklaracji wszystkich używanych przez nas procedur, zmiennych i
rekordów, przystępujemy do ich wypełniania. Jako pierwszą
wypełnimy procedurę Action, która będzie analizowała wciskane
przez użytkownika klawisze i badała czy nie pojawił się jakiś
skrót klawiaturowy. Tworzymy ją poprzez ręczne wpisanie jej do
kodu programu. Co prawda zdarzenie OnAction znajduje się w zakładce
Events (w Inspektorze Obiektów), jednak standardowym, podwójnym
kliknięciem jej nie utworzymy. Pozostałe dwa systemowe zdarzenia,
czyli OnCreate i OnKeyDown tworzymy w zakładce Events, klikając
wpierw na puste miejsce formy głównej (gdziekolwiek, byleby nie na
jakiś komponent), a następnie podwójnym kliknięciem otwierając
je w kodzie.
Zdarzenia OnKeyDown, OnKeyUp i OnKeyPress
Zdarzenie OnKeyDown
zostaje wywołane w chwili wciśnięcia klawisza, w przeciwieństwie
do zdarzenia OnKeyUp, które jest wywoływane w chwili puszczenia
klawisza. Trzecim zdarzeniem w zakładce Events związanym z
klawiszami jest zdarzenie OnKeyPress. Ta opcja akurat nie rozróżnia
tych dwóch wcześniejszych stanów i jest generowana zawsze po
naciśnięciu i puszczeniu klawisza.
Aby dobrze to wszystko
zrozumieć, wyobraźmy sobie, że czynność naciskania na klawisz
dzielimy na dwie części: naciskamy na klawisz, a po chwili
puszczamy go. Zdarzenie OnKeyPress zostanie wywołane dopiero po
zakończeniu całej tej operacji, czyli po puszczeniu klawisza.
Zdarzenie OnKeyDown zostanie natomiast wykonane już w pierwszej
części, po wciśnięciu klawisza, nie czekając na jego puszczenie.
Jak widzimy, procedura
FormKeyDown zawiera tylko jedno polecenie: jakikolwiek klawisz nie
zostanie wciśnięty, ma uruchomić procedurę Action, która
zanalizuje, czy czasem naciskane klawisze nie są skrótem
klawiaturowym.
Procedurę
Action tworzy pętla for...to...do,
która analizuje każdy element tablicy ShortCutArray:
for
I := 0 to
High(ShortCutArray) do
begin
{
rozbicie skrótu z tablicy }
ShortCutToKey(ShortCutArray[i].sShortCut,
pKey, pShift);
{
porównanie zmiennych }
if
((pKey = wKey) and (sShift =
pShift)) then
ShortCutArray[i].pAction;
//wywołanie odpowiedniej procedury
end;
Z uwagi na to, iż skrót
składa się z dwóch klawiszy (klawisz rozszerzony i zwykł
klawisz), należy rozbić ten skrót na dwie zmienne: pKey, która
oznacza kod ASCII klawisza, oraz pShift, która zawiera informację,
który z klawiszy rozszerzonych (Ctrl, Alt czy Shift) został
naciśnięty. Teraz następuje analiza poprzez porównanie, czy te
zmienne są takie same, jak zmienne wKey i sShift, innymi słowy, czy
naciśnięte klawisze odpowiadają któremuś ze skrótów zapisanych
w tablicy ShortCutArray. Jeżeli odpowiadają, wtedy następuje
wywołanie procedury pAction zadeklarowanej w rekordzie, która z
kolei uruchomi naszą procedurę do wykonania.
A oto kod całej metody:
unit
Unit1;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
Menus; //dodać moduł Menus
type
TForm1
= class(TForm)
procedure
Opcja_niedostepna;
procedure
FormCreate(Sender: TObject);
procedure
FormKeyDown(Sender: TObject; var
Key: Word; Shift: TShiftState);
private
{
Private declarations }
//procedura,
która zanalizuje każde naciśnięcie klawisza
procedure
Action(wKey : Word; sShift : TShiftState);
//to
są procedury które będą wykonywane, gdy ktoś wciśnie skrót
procedure
Procedura1; //Alt+`~
procedure
Procedura2; //Alt+1
procedure
Procedura3; //Alt+2
procedure
Procedura4; //Alt+3
procedure
Procedura5; //Alt+4
procedure
Procedura6; //Alt+5
procedure
Procedura7; //Alt+6
procedure
Procedura8; //Alt+7
procedure
Procedura9; //Alt+8
procedure
Procedura10; //Alt+9
procedure
Procedura11; //Alt+0
procedure
Procedura12; //Alt+-
procedure
Procedura13; //Alt+=
procedure
Procedura14; //Alt+q
procedure
Procedura15; //Alt+w
procedure
Procedura16; //Alt+e
procedure
Procedura17; //Alt+r
procedure
Procedura18; //Alt+t
procedure
Procedura19; //Alt+y
procedure
Procedura20; //Alt+u
procedure
Procedura21; //Alt+i
procedure
Procedura22; //Alt+o
procedure
Procedura23; //Alt+p
procedure
Procedura24; //Alt+[
procedure
Procedura25; //Alt+]
procedure
Procedura26; //Alt+a
procedure
Procedura27; //Alt+s
procedure
Procedura28; //Alt+d
procedure
Procedura29; //Alt+f
procedure
Procedura30; //Alt+g
procedure
Procedura31; //Alt+h
procedure
Procedura32; //Alt+j
procedure
Procedura33; //Alt+k
procedure
Procedura34; //Alt+l
procedure
Procedura35; //Alt+;
procedure
Procedura36; //Alt+\
procedure
Procedura37; //Alt+z
procedure
Procedura38; //Alt+x
procedure
Procedura39; //Alt+c
procedure
Procedura40; //Alt+v
procedure
Procedura41; //Alt+b
procedure
Procedura42; //Alt+n
procedure
Procedura43; //Alt+m
procedure
Procedura44; //Alt+,
procedure
Procedura45; //Alt+.
procedure
Procedura46; //Alt+/
procedure
Procedura47; //Ctrl+`~
procedure
Procedura48; //Ctrl+1
procedure
Procedura49; //Ctrl+2
procedure
Procedura50; //Ctrl+3
procedure
Procedura51; //Ctrl+4
procedure
Procedura52; //Ctrl+5
procedure
Procedura53; //Ctrl+6
procedure
Procedura54; //Ctrl+7
procedure
Procedura55; //Ctrl+8
procedure
Procedura56; //Ctrl+9
procedure
Procedura57; //Ctrl+0
procedure
Procedura58; //Ctrl+-
procedure
Procedura59; //Ctrl+=
procedure
Procedura60; //Ctrl+q
procedure
Procedura61; //Ctrl+w
procedure
Procedura62; //Ctrl+e
procedure
Procedura63; //Ctrl+r
procedure
Procedura64; //Ctrl+t
procedure
Procedura65; //Ctrl+y
procedure
Procedura66; //Ctrl+u
procedure
Procedura67; //Ctrl+i
procedure
Procedura68; //Ctrl+o
procedure
Procedura69; //Ctrl+p
procedure
Procedura70; //Ctrl+[
procedure
Procedura71; //Ctrl+]
procedure
Procedura72; //Ctrl+a
procedure
Procedura73; //Ctrl+s
procedure
Procedura74; //Ctrl+d
procedure
Procedura75; //Ctrl+f
procedure
Procedura76; //Ctrl+g
procedure
Procedura77; //Ctrl+h
procedure
Procedura78; //Ctrl+j
procedure
Procedura79; //Ctrl+k
procedure
Procedura80; //Ctrl+l
procedure
Procedura81; //Ctrl+;
procedure
Procedura82; //Ctrl+\
procedure
Procedura83; //Ctrl+z
procedure
Procedura84; //Ctrl+x
procedure
Procedura85; //Ctrl+c
procedure
Procedura86; //Ctrl+v
procedure
Procedura87; //Ctrl+b
procedure
Procedura88; //Ctrl+n
procedure
Procedura89; //Ctrl+m
procedure
Procedura90; //Ctrl+,
procedure
Procedura91; //Ctrl+.
procedure
Procedura92; //Ctrl+/
procedure
Procedura93; //Shift+`~
procedure
Procedura94; //Ctrl+Alt+z
procedure
Procedura95; //Ctrl+Alt+\
procedure
Procedura96; //Ctrl+Alt+x
procedure
Procedura97; //Ctrl+Alt+c
procedure
Procedura98; //Ctrl+Alt+v
procedure
Procedura99; //Ctrl+Alt+b
procedure
Procedura100; //Ctrl+Alt+n
procedure
Procedura101; //Ctrl+Alt+m
procedure
Procedura102; //Ctrl+Alt+,(przecinek)
procedure
Procedura103; //Ctrl+Alt+.(kropka)
procedure
Procedura104; //Ctrl+Alt+/
procedure
Procedura105; //Ctrl+Alt+`~
procedure
Procedura106; //Ctrl+Alt+1
procedure
Procedura107; //Ctrl+Alt+2
procedure
Procedura108; //Ctrl+Alt+3
procedure
Procedura109; //Ctrl+Alt+4
procedure
Procedura110; //Ctrl+Alt+5
procedure
Procedura111; //Ctrl+Alt+6
procedure
Procedura112; //Ctrl+Alt+7
procedure
Procedura113; //Ctrl+Alt+8
procedure
Procedura114; //Ctrl+Alt+9
procedure
Procedura115; //Ctrl+Alt+0
procedure
Procedura116; //Ctrl+Alt+-
procedure
Procedura117; //Ctrl+Alt+=
procedure
Procedura118; //Ctrl+Alt+q
procedure
Procedura119; //Ctrl+Alt+w
procedure
Procedura120; //Ctrl+Alt+e
procedure
Procedura121; //Ctrl+Alt+r
procedure
Procedura122; //Ctrl+Alt+t
procedure
Procedura123; //Ctrl+Alt+y
procedure
Procedura124; //Ctrl+Alt+u
procedure
Procedura125; //Ctrl+Alt+i
procedure
Procedura126; //Ctrl+Alt+o
procedure
Procedura127; //Ctrl+Alt+p
procedure
Procedura128; //Ctrl+Alt+[
procedure
Procedura129; //Ctrl+Alt+]
procedure
Procedura130; //Ctrl+Alt+a
procedure
Procedura131; //Ctrl+Alt+s
procedure
Procedura132; //Ctrl+Alt+d
procedure
Procedura133; //Ctrl+Alt+f
procedure
Procedura134; //Ctrl+Alt+g
procedure
Procedura135; //Ctrl+Alt+h
procedure
Procedura136; //Ctrl+Alt+j
procedure
Procedura137; //Ctrl+Alt+k
procedure
Procedura138; //Ctrl+Alt+l
procedure
Procedura139; //Ctrl+Alt+;
procedure
Procedura140; //Ctrl+Alt+Esc
procedure
Procedura141; //Ctrl+Alt+F1
procedure
Procedura142; //Ctrl+Alt+F2
procedure
Procedura143; //Ctrl+Alt+F3
procedure
Procedura144; //Ctrl+Alt+F4
procedure
Procedura145; //Ctrl+Alt+F5
procedure
Procedura146; //Ctrl+Alt+F6
procedure
Procedura147; //Ctrl+Alt+F7
procedure
Procedura148; //Ctrl+Alt+F8
procedure
Procedura149; //Ctrl+Alt+F9
procedure
Procedura150; //Ctrl+Alt+F10
procedure
Procedura151; //Ctrl+Alt+F11
procedure
Procedura152; //Ctrl+Alt+F12
procedure
Procedura153; //Ctrl+Alt+Tab
procedure
Procedura154; //Ctrl+Alt+Caps Lock
procedure
Procedura155; //Ctrl+Alt+Enter
procedure
Procedura156; //Ctrl+Alt+'(apostrof)
procedure
Procedura157; //Ctrl+Alt+Scroll Lock
procedure
Procedura158; //Ctrl+Alt+Home
procedure
Procedura159; //Ctrl+Alt+End
procedure
Procedura160; //Ctrl+Alt+Strzałka w prawo
procedure
Procedura161; //Ctrl+Alt+Strzałka w lewwo
procedure
Procedura162; //Ctrl+Alt+Strzałka w górę
procedure
Procedura163; //Ctrl+Alt+Strzałka w dół
procedure
Procedura164; //Ctrl+' (apostrof)
procedure
Procedura165; //Alt+' (apostrof)
end;
TProcedure
= procedure of object;
{
rekord, który przechowuje informacje o skrócie klawiaturowym i
o
procedurze która będzie wykonywana w następstwie naciśnięcia
takowego
skrótu }
TShortCutArray
= packed record
sShortCut:
TShortCut;
pAction
: TProcedure;
public
{
Public declarations }
end;
var
Form1:
TForm1;
ShortCutArray
: array[0..164]
of TShortCutArray; //tablica rekordow do
skrótów...
implementation
{$R
*.dfm}
//
PROCEDURA OPCJA NIEDOSTEPNA //
procedure
TForm1.Opcja_niedostepna;
begin
ShowMessage('Opcja
niedostępna');
end;
procedure
TForm1.FormKeyDown(Sender: TObject; var
Key: Word; Shift:
TShiftState);
begin
Action(Key,
Shift); //wywołaj z parametrami
procedurę Action
end;
//
PROCEDURA ANALIZUJĄCA SKRÓT KLAWIATUROWY
procedure
TForm1.Action(wKey: Word; sShift: TShiftState);
var
i
: Integer;
pKey
: Word;
pShift
: TshiftState;
begin
for
i := 0 to
High(ShortCutArray) do
begin
{
rozbicie skrótu z tablicy }
ShortCutToKey(ShortCutArray[i].sShortCut,
pKey, pShift);
{
porównanie zmiennych }
if
((pKey = wKey) and (sShift =
pShift)) then
ShortCutArray[i].pAction;
//wywołanie odpowiedniej procedury
end;
end;
//rejestracja
skrótów klawiaturowych
procedure
TForm1.FormCreate(Sender: TObject);
begin
/////////////////
Alt + klawisz /////////////////////
ShortCutArray[0].sShortCut
:= TextToShortCut('Alt+`');
ShortCutArray[0].pAction
:= Procedura1;
ShortCutArray[1].sShortCut
:= TextToShortCut('Alt+1');
ShortCutArray[1].pAction
:= Procedura2;
ShortCutArray[2].sShortCut
:= TextToShortCut('Alt+2');
ShortCutArray[2].pAction
:= Procedura3;
ShortCutArray[3].sShortCut
:= TextToShortCut('Alt+3');
ShortCutArray[3].pAction
:= Procedura4;
ShortCutArray[4].sShortCut
:= TextToShortCut('Alt+4');
ShortCutArray[4].pAction
:= Procedura5;
ShortCutArray[5].sShortCut
:= TextToShortCut('Alt+5');
ShortCutArray[5].pAction
:= Procedura6;
ShortCutArray[6].sShortCut
:= TextToShortCut('Alt+6');
ShortCutArray[6].pAction
:= Procedura7;
ShortCutArray[7].sShortCut
:= TextToShortCut('Alt+7');
ShortCutArray[7].pAction
:= Procedura8;
ShortCutArray[8].sShortCut
:= TextToShortCut('Alt+8');
ShortCutArray[8].pAction
:= Procedura9;
ShortCutArray[9].sShortCut
:= TextToShortCut('Alt+9');
ShortCutArray[9].pAction
:= Procedura10;
ShortCutArray[10].sShortCut
:= TextToShortCut('Alt+0');
ShortCutArray[10].pAction
:= Procedura11;
ShortCutArray[11].sShortCut
:= TextToShortCut('Alt+-');
ShortCutArray[11].pAction
:= Procedura12;
ShortCutArray[12].sShortCut
:= TextToShortCut('Alt+=');
ShortCutArray[12].pAction
:= Procedura13;
ShortCutArray[13].sShortCut
:= TextToShortCut('Alt+q');
ShortCutArray[13].pAction
:= Procedura14;
ShortCutArray[14].sShortCut
:= TextToShortCut('Alt+w');
ShortCutArray[14].pAction
:= Procedura15;
ShortCutArray[15].sShortCut
:= TextToShortCut('Alt+e');
ShortCutArray[15].pAction
:= Procedura16;
ShortCutArray[16].sShortCut
:= TextToShortCut('Alt+r');
ShortCutArray[16].pAction
:= Procedura17;
ShortCutArray[17].sShortCut
:= TextToShortCut('Alt+t');
ShortCutArray[17].pAction
:= Procedura18;
ShortCutArray[18].sShortCut
:= TextToShortCut('Alt+y');
ShortCutArray[18].pAction
:= Procedura19;
ShortCutArray[19].sShortCut
:= TextToShortCut('Alt+u');
ShortCutArray[19].pAction
:= Procedura20;
ShortCutArray[20].sShortCut
:= TextToShortCut('Alt+i');
ShortCutArray[20].pAction
:= Procedura21;
ShortCutArray[21].sShortCut
:= TextToShortCut('Alt+o');
ShortCutArray[21].pAction
:= Procedura22;
ShortCutArray[22].sShortCut
:= TextToShortCut('Alt+p');
ShortCutArray[22].pAction
:= Procedura23;
ShortCutArray[23].sShortCut
:= TextToShortCut('Alt+[');
ShortCutArray[23].pAction
:= Procedura24;
ShortCutArray[24].sShortCut
:= TextToShortCut('Alt+]');
ShortCutArray[24].pAction
:= Procedura25;
ShortCutArray[25].sShortCut
:= TextToShortCut('Alt+a');
ShortCutArray[25].pAction
:= Procedura26;
ShortCutArray[26].sShortCut
:= TextToShortCut('Alt+s');
ShortCutArray[26].pAction
:= Procedura27;
ShortCutArray[27].sShortCut
:= TextToShortCut('Alt+d');
ShortCutArray[27].pAction
:= Procedura28;
ShortCutArray[28].sShortCut
:= TextToShortCut('Alt+f');
ShortCutArray[28].pAction
:= Procedura29;
ShortCutArray[29].sShortCut
:= TextToShortCut('Alt+g');
ShortCutArray[29].pAction
:= Procedura30;
ShortCutArray[30].sShortCut
:= TextToShortCut('Alt+h');
ShortCutArray[30].pAction
:= Procedura31;
ShortCutArray[31].sShortCut
:= TextToShortCut('Alt+j');
ShortCutArray[31].pAction
:= Procedura32;
ShortCutArray[32].sShortCut
:= TextToShortCut('Alt+k');
ShortCutArray[32].pAction
:= Procedura33;
ShortCutArray[33].sShortCut
:= TextToShortCut('Alt+l');
ShortCutArray[33].pAction
:= Procedura34;
ShortCutArray[34].sShortCut
:= TextToShortCut('Alt+;');
ShortCutArray[34].pAction
:= Procedura35;
ShortCutArray[35].sShortCut
:= TextToShortCut('Alt+\');
ShortCutArray[35].pAction
:= Procedura36;
ShortCutArray[36].sShortCut
:= TextToShortCut('Alt+z');
ShortCutArray[36].pAction
:= Procedura37;
ShortCutArray[37].sShortCut
:= TextToShortCut('Alt+x');
ShortCutArray[37].pAction
:= Procedura38;
ShortCutArray[38].sShortCut
:= TextToShortCut('Alt+c');
ShortCutArray[38].pAction
:= Procedura39;
ShortCutArray[39].sShortCut
:= TextToShortCut('Alt+v');
ShortCutArray[39].pAction
:= Procedura40;
ShortCutArray[40].sShortCut
:= TextToShortCut('Alt+b');
ShortCutArray[40].pAction
:= Procedura41;
ShortCutArray[41].sShortCut
:= TextToShortCut('Alt+n');
ShortCutArray[41].pAction
:= Procedura42;
ShortCutArray[42].sShortCut
:= TextToShortCut('Alt+m');
ShortCutArray[42].pAction
:= Procedura43;
ShortCutArray[43].sShortCut
:= TextToShortCut('Alt+,');
ShortCutArray[43].pAction
:= Procedura44;
ShortCutArray[44].sShortCut
:= TextToShortCut('Alt+.');
ShortCutArray[44].pAction
:= Procedura45;
ShortCutArray[45].sShortCut
:= TextToShortCut('Alt+/');
ShortCutArray[45].pAction
:= Procedura46;
////////////////
Ctrl + klawisz //////////////////
ShortCutArray[46].sShortCut
:= TextToShortCut('Ctrl+`');
ShortCutArray[46].pAction
:= Procedura47;
ShortCutArray[47].sShortCut
:= TextToShortCut('Ctrl+1');
ShortCutArray[47].pAction
:= Procedura48;
ShortCutArray[48].sShortCut
:= TextToShortCut('Ctrl+2');
ShortCutArray[48].pAction
:= Procedura49;
ShortCutArray[49].sShortCut
:= TextToShortCut('Ctrl+3');
ShortCutArray[49].pAction
:= Procedura50;
ShortCutArray[50].sShortCut
:= TextToShortCut('Ctrl+4');
ShortCutArray[50].pAction
:= Procedura51;
ShortCutArray[51].sShortCut
:= TextToShortCut('Ctrl+5');
ShortCutArray[51].pAction
:= Procedura52;
ShortCutArray[52].sShortCut
:= TextToShortCut('Ctrl+6');
ShortCutArray[52].pAction
:= Procedura53;
ShortCutArray[53].sShortCut
:= TextToShortCut('Ctrl+7');
ShortCutArray[53].pAction
:= Procedura54;
ShortCutArray[54].sShortCut
:= TextToShortCut('Ctrl+8');
ShortCutArray[54].pAction
:= Procedura55;
ShortCutArray[55].sShortCut
:= TextToShortCut('Ctrl+9');
ShortCutArray[55].pAction
:= Procedura56;
ShortCutArray[56].sShortCut
:= TextToShortCut('Ctrl+0');
ShortCutArray[56].pAction
:= Procedura57;
ShortCutArray[57].sShortCut
:= TextToShortCut('Ctrl+-');
ShortCutArray[57].pAction
:= Procedura58;
ShortCutArray[58].sShortCut
:= TextToShortCut('Ctrl+=');
ShortCutArray[58].pAction
:= Procedura59;
ShortCutArray[59].sShortCut
:= TextToShortCut('Ctrl+q');
ShortCutArray[59].pAction
:= Procedura60;
ShortCutArray[60].sShortCut
:= TextToShortCut('Ctrl+w');
ShortCutArray[60].pAction
:= Procedura61;
ShortCutArray[61].sShortCut
:= TextToShortCut('Ctrl+e');
ShortCutArray[61].pAction
:= Procedura62;
ShortCutArray[62].sShortCut
:= TextToShortCut('Ctrl+r');
ShortCutArray[62].pAction
:= Procedura63;
ShortCutArray[63].sShortCut
:= TextToShortCut('Ctrl+t');
ShortCutArray[63].pAction
:= Procedura64;
ShortCutArray[64].sShortCut
:= TextToShortCut('Ctrl+y');
ShortCutArray[64].pAction
:= Procedura65;
ShortCutArray[65].sShortCut
:= TextToShortCut('Ctrl+u');
ShortCutArray[65].pAction
:= Procedura66;
ShortCutArray[66].sShortCut
:= TextToShortCut('Ctrl+i');
ShortCutArray[66].pAction
:= Procedura67;
ShortCutArray[67].sShortCut
:= TextToShortCut('Ctrl+o');
ShortCutArray[67].pAction
:= Procedura68;
ShortCutArray[68].sShortCut
:= TextToShortCut('Ctrl+p');
ShortCutArray[68].pAction
:= Procedura69;
ShortCutArray[69].sShortCut
:= TextToShortCut('Ctrl+[');
ShortCutArray[69].pAction
:= Procedura70;
ShortCutArray[70].sShortCut
:= TextToShortCut('Ctrl+]');
ShortCutArray[70].pAction
:= Procedura71;
ShortCutArray[71].sShortCut
:= TextToShortCut('Ctrl+a');
ShortCutArray[71].pAction
:= Procedura72;
ShortCutArray[72].sShortCut
:= TextToShortCut('Ctrl+s');
ShortCutArray[72].pAction
:= Procedura73;
ShortCutArray[73].sShortCut
:= TextToShortCut('Ctrl+d');
ShortCutArray[73].pAction
:= Procedura74;
ShortCutArray[74].sShortCut
:= TextToShortCut('Ctrl+f');
ShortCutArray[74].pAction
:= Procedura75;
ShortCutArray[75].sShortCut
:= TextToShortCut('Ctrl+g');
ShortCutArray[75].pAction
:= Procedura76;
ShortCutArray[76].sShortCut
:= TextToShortCut('Ctrl+h');
ShortCutArray[76].pAction
:= Procedura77;
ShortCutArray[77].sShortCut
:= TextToShortCut('Ctrl+j');
ShortCutArray[77].pAction
:= Procedura78;
ShortCutArray[78].sShortCut
:= TextToShortCut('Ctrl+k');
ShortCutArray[78].pAction
:= Procedura79;
ShortCutArray[79].sShortCut
:= TextToShortCut('Ctrl+l');
ShortCutArray[79].pAction
:= Procedura80;
ShortCutArray[80].sShortCut
:= TextToShortCut('Ctrl+;');
ShortCutArray[80].pAction
:= Procedura81;
ShortCutArray[81].sShortCut
:= TextToShortCut('Ctrl+\');
ShortCutArray[81].pAction
:= Procedura82;
ShortCutArray[82].sShortCut
:= TextToShortCut('Ctrl+z');
ShortCutArray[82].pAction
:= Procedura83;
ShortCutArray[83].sShortCut
:= TextToShortCut('Ctrl+x');
ShortCutArray[83].pAction
:= Procedura84;
ShortCutArray[84].sShortCut
:= TextToShortCut('Ctrl+c');
ShortCutArray[84].pAction
:= Procedura85;
ShortCutArray[85].sShortCut
:= TextToShortCut('Ctrl+v');
ShortCutArray[85].pAction
:= Procedura86;
ShortCutArray[86].sShortCut
:= TextToShortCut('Ctrl+b');
ShortCutArray[86].pAction
:= Procedura87;
ShortCutArray[87].sShortCut
:= TextToShortCut('Ctrl+n');
ShortCutArray[87].pAction
:= Procedura88;
ShortCutArray[88].sShortCut
:= TextToShortCut('Ctrl+m');
ShortCutArray[88].pAction
:= Procedura89;
ShortCutArray[89].sShortCut
:= TextToShortCut('Ctrl+,');
ShortCutArray[89].pAction
:= Procedura90;
ShortCutArray[90].sShortCut
:= TextToShortCut('Ctrl+.');
ShortCutArray[90].pAction
:= Procedura91;
ShortCutArray[91].sShortCut
:= TextToShortCut('Ctrl+/');
ShortCutArray[91].pAction
:= Procedura92;
//////////////////
Shift + klawisz //////////////////
ShortCutArray[92].sShortCut
:= TextToShortCut('Shift+`');
ShortCutArray[92].pAction
:= Procedura93;
///////////////
Ctrl+ Alt+ klawisz //////////////////
ShortCutArray[93].sShortCut
:= TextToShortCut('Ctrl+Alt+z');
ShortCutArray[93].pAction
:= Procedura94;
ShortCutArray[94].sShortCut
:= TextToShortCut('Ctrl+Alt+\');
ShortCutArray[94].pAction
:= Procedura95;
ShortCutArray[95].sShortCut
:= TextToShortCut('Ctrl+Alt+x');
ShortCutArray[95].pAction
:= Procedura96;
ShortCutArray[96].sShortCut
:= TextToShortCut('Ctrl+Alt+c');
ShortCutArray[96].pAction
:= Procedura97;
ShortCutArray[97].sShortCut
:= TextToShortCut('Ctrl+Alt+v');
ShortCutArray[97].pAction
:= Procedura98;
ShortCutArray[98].sShortCut
:= TextToShortCut('Ctrl+Alt+b');
ShortCutArray[98].pAction
:= Procedura99;
ShortCutArray[99].sShortCut
:= TextToShortCut('Ctrl+Alt+n');
ShortCutArray[99].pAction
:= Procedura100;
ShortCutArray[100].sShortCut
:= TextToShortCut('Ctrl+Alt+m');
ShortCutArray[100].pAction
:= Procedura101;
ShortCutArray[101].sShortCut
:= TextToShortCut('Ctrl+Alt+,');
ShortCutArray[101].pAction
:= Procedura102;
ShortCutArray[102].sShortCut
:= TextToShortCut('Ctrl+Alt+.');
ShortCutArray[102].pAction
:= Procedura103;
ShortCutArray[103].sShortCut
:= TextToShortCut('Ctrl+Alt+/');
ShortCutArray[103].pAction
:= Procedura104;
ShortCutArray[104].sShortCut
:= TextToShortCut('Ctrl+Alt+`');
ShortCutArray[104].pAction
:= Procedura105;
ShortCutArray[105].sShortCut
:= TextToShortCut('Ctrl+Alt+1');
ShortCutArray[105].pAction
:= Procedura106;
ShortCutArray[106].sShortCut
:= TextToShortCut('Ctrl+Alt+2');
ShortCutArray[106].pAction
:= Procedura107;
ShortCutArray[107].sShortCut
:= TextToShortCut('Ctrl+Alt+3');
ShortCutArray[107].pAction
:= Procedura108;
ShortCutArray[108].sShortCut
:= TextToShortCut('Ctrl+Alt+4');
ShortCutArray[108].pAction
:= Procedura109;
ShortCutArray[109].sShortCut
:= TextToShortCut('Ctrl+Alt+5');
ShortCutArray[109].pAction
:= Procedura110;
ShortCutArray[110].sShortCut
:= TextToShortCut('Ctrl+Alt+6');
ShortCutArray[110].pAction
:= Procedura111;
ShortCutArray[111].sShortCut
:= TextToShortCut('Ctrl+Alt+7');
ShortCutArray[111].pAction
:= Procedura112;
ShortCutArray[112].sShortCut
:= TextToShortCut('Ctrl+Alt+8');
ShortCutArray[112].pAction
:= Procedura113;
ShortCutArray[113].sShortCut
:= TextToShortCut('Ctrl+Alt+9');
ShortCutArray[113].pAction
:= Procedura114;
ShortCutArray[114].sShortCut
:= TextToShortCut('Ctrl+Alt+0');
ShortCutArray[114].pAction
:= Procedura115;
ShortCutArray[115].sShortCut
:= TextToShortCut('Ctrl+Alt+-');
ShortCutArray[115].pAction
:= Procedura116;
ShortCutArray[116].sShortCut
:= TextToShortCut('Ctrl+Alt+=');
ShortCutArray[116].pAction
:= Procedura117;
ShortCutArray[117].sShortCut
:= TextToShortCut('Ctrl+Alt+q');
ShortCutArray[117].pAction
:= Procedura118;
ShortCutArray[118].sShortCut
:= TextToShortCut('Ctrl+Alt+w');
ShortCutArray[118].pAction
:= Procedura119;
ShortCutArray[119].sShortCut
:= TextToShortCut('Ctrl+Alt+e');
ShortCutArray[119].pAction
:= Procedura120;
ShortCutArray[120].sShortCut
:= TextToShortCut('Ctrl+Alt+r');
ShortCutArray[120].pAction
:= Procedura121;
ShortCutArray[121].sShortCut
:= TextToShortCut('Ctrl+Alt+t');
ShortCutArray[121].pAction
:= Procedura122;
ShortCutArray[122].sShortCut
:= TextToShortCut('Ctrl+Alt+y');
ShortCutArray[122].pAction
:= Procedura123;
ShortCutArray[123].sShortCut
:= TextToShortCut('Ctrl+Alt+u');
ShortCutArray[123].pAction
:= Procedura124;
ShortCutArray[124].sShortCut
:= TextToShortCut('Ctrl+Alt+i');
ShortCutArray[124].pAction
:= Procedura125;
ShortCutArray[125].sShortCut
:= TextToShortCut('Ctrl+Alt+o');
ShortCutArray[125].pAction
:= Procedura126;
ShortCutArray[126].sShortCut
:= TextToShortCut('Ctrl+Alt+p');
ShortCutArray[126].pAction
:= Procedura127;
ShortCutArray[127].sShortCut
:= TextToShortCut('Ctrl+Alt+[');
ShortCutArray[127].pAction
:= Procedura128;
ShortCutArray[128].sShortCut
:= TextToShortCut('Ctrl+Alt+]');
ShortCutArray[128].pAction
:= Procedura129;
ShortCutArray[129].sShortCut
:= TextToShortCut('Ctrl+Alt+a');
ShortCutArray[129].pAction
:= Procedura130;
ShortCutArray[130].sShortCut
:= TextToShortCut('Ctrl+Alt+s');
ShortCutArray[130].pAction
:= Procedura131;
ShortCutArray[131].sShortCut
:= TextToShortCut('Ctrl+Alt+d');
ShortCutArray[131].pAction
:= Procedura132;
ShortCutArray[132].sShortCut
:= TextToShortCut('Ctrl+Alt+f');
ShortCutArray[132].pAction
:= Procedura133;
ShortCutArray[133].sShortCut
:= TextToShortCut('Ctrl+Alt+g');
ShortCutArray[133].pAction
:= Procedura134;
ShortCutArray[134].sShortCut
:= TextToShortCut('Ctrl+Alt+h');
ShortCutArray[134].pAction
:= Procedura135;
ShortCutArray[135].sShortCut
:= TextToShortCut('Ctrl+Alt+j');
ShortCutArray[135].pAction
:= Procedura136;
ShortCutArray[136].sShortCut
:= TextToShortCut('Ctrl+Alt+k');
ShortCutArray[136].pAction
:= Procedura137;
ShortCutArray[137].sShortCut
:= TextToShortCut('Ctrl+Alt+l');
ShortCutArray[137].pAction
:= Procedura138;
ShortCutArray[138].sShortCut
:= TextToShortCut('Ctrl+Alt+;');
ShortCutArray[138].pAction
:= Procedura139;
ShortCutArray[139].sShortCut
:= TextToShortCut('Ctrl+Alt+Esc');
ShortCutArray[139].pAction
:= Procedura140;
ShortCutArray[140].sShortCut
:= TextToShortCut('Ctrl+Alt+F1');
ShortCutArray[140].pAction
:= Procedura141;
ShortCutArray[141].sShortCut
:= TextToShortCut('Ctrl+Alt+F2');
ShortCutArray[141].pAction
:= Procedura142;
ShortCutArray[142].sShortCut
:= TextToShortCut('Ctrl+Alt+F3');
ShortCutArray[142].pAction
:= Procedura143;
ShortCutArray[143].sShortCut
:= TextToShortCut('Ctrl+Alt+F4');
ShortCutArray[143].pAction
:= Procedura144;
ShortCutArray[144].sShortCut
:= TextToShortCut('Ctrl+Alt+F5');
ShortCutArray[144].pAction
:= Procedura145;
ShortCutArray[145].sShortCut
:= TextToShortCut('Ctrl+Alt+F6');
ShortCutArray[145].pAction
:= Procedura146;
ShortCutArray[146].sShortCut
:= TextToShortCut('Ctrl+Alt+F7');
ShortCutArray[146].pAction
:= Procedura147;
ShortCutArray[147].sShortCut
:= TextToShortCut('Ctrl+Alt+F8');
ShortCutArray[147].pAction
:= Procedura148;
ShortCutArray[148].sShortCut
:= TextToShortCut('Ctrl+Alt+F9');
ShortCutArray[148].pAction
:= Procedura149;
ShortCutArray[149].sShortCut
:= TextToShortCut('Ctrl+Alt+F10');
ShortCutArray[149].pAction
:= Procedura150;
ShortCutArray[150].sShortCut
:= TextToShortCut('Ctrl+Alt+F11');
ShortCutArray[150].pAction
:= Procedura151;
ShortCutArray[151].sShortCut
:= TextToShortCut('Ctrl+Alt+F12');
ShortCutArray[151].pAction
:= Procedura152;
ShortCutArray[152].sShortCut
:= TextToShortCut('Ctrl+Alt+Tab');
ShortCutArray[152].pAction
:= Procedura153;
ShortCutArray[153].sShortCut
:= TextToShortCut('Ctrl+Alt+Caps Lock');
ShortCutArray[153].pAction
:= Procedura154;
ShortCutArray[154].sShortCut
:= TextToShortCut('Ctrl+Alt+Enter');
ShortCutArray[154].pAction
:= Procedura155;
ShortCutArray[155].sShortCut
:= TextToShortCut('Ctrl+Alt+'''); //apostrof
ShortCutArray[155].pAction
:= Procedura156;
ShortCutArray[156].sShortCut
:= TextToShortCut('Ctrl+Alt+Scroll Lock');
ShortCutArray[156].pAction
:= Procedura157;
ShortCutArray[157].sShortCut
:= TextToShortCut('Ctrl+Alt+Home');
ShortCutArray[157].pAction
:= Procedura158;
ShortCutArray[158].sShortCut
:= TextToShortCut('Ctrl+Alt+End');
ShortCutArray[158].pAction
:= Procedura159;
ShortCutArray[159].sShortCut
:= TextToShortCut('Ctrl+Alt+RIGHT');
//strzałka
w prawo
ShortCutArray[159].pAction
:= Procedura160;
ShortCutArray[160].sShortCut
:= TextToShortCut('Ctrl+Alt+LEFT');
//strzałka
w lewo
ShortCutArray[160].pAction
:= Procedura161;
ShortCutArray[161].sShortCut
:= TextToShortCut('Ctrl+Alt+UP');
//strzałka
w górę
ShortCutArray[161].pAction
:= Procedura162;
ShortCutArray[162].sShortCut
:= TextToShortCut('Ctrl+Alt+DOWN');
//strzałka
w dół
ShortCutArray[162].pAction
:= Procedura163;
ShortCutArray[163].sShortCut
:= TextToShortCut('Ctrl+'''); //apostrof
ShortCutArray[163].pAction
:= Procedura164;
ShortCutArray[164].sShortCut
:= TextToShortCut('Alt+'''); //apostrof
ShortCutArray[164].pAction
:= Procedura165;
end;
// PROCEDURY
WYKONAWCZE DO SKRÓTÓW Alt+klawisz i Ctrl+klawisz //
procedure
TForm1.Procedura1; // wywolywana gdy ktos
nacisnie Alt+` czyli...
begin
//...
Opcja_niedostepna;
end;
procedure
TForm1.Procedura165; //wywolywana gdy ktos
nacisnie Alt+' (apostrof)
begin
//...
Opcja_niedostepna;
end;
end.
Artykuł pochodzi z mojej książki pt. "Delphi w przykładach dla początkujących". Zapraszam na Stronę książki.
Ciekawe artykuły:
- Zabawy matematyczne w Delphi
- Gry matematyczne w Delphi
- Ucz się na swoich błędach
- Zabawy rozwijające pamięć w Delphi
- AntyNoble - śmieszne badania naukowe
Zapoznaj się z innymi artykułami. Przejdź do zakładki Spis artykułów.
Brak komentarzy:
Prześlij komentarz