AddKeyboardShortcut

Window ››
Parent Previous Next

AddKeyboardShortcut

Синтаксис

function AddKeyboardShortcut(Hwnd as HWND , Syskey as integer , Shortcut as integer , IDevent as integer) as any ptr

Описание

Позволяет задавать горячие клавиши для заданного окна.
Этой же функцией можно изменять горячие клавиши: для этого просто при этом же событии указать другие клавиши.
Так же ей можно отключать нужную горячую клавишу: для этого просто при этом же событии указать вместо клавиш NULL.Если функция завершается успешно, возвращаемое значение представляет собой указатель на созданную таблицу клавиш-ускорителей, в противном случае, это NULL. В Linux возвращаемое значение: GtkAccelGroup ptr

Параметры

Hwnd - Хендл окна, для которого задаются горячие клавиши

Syskey - Системные клавиши могут быть: FSHIFT , FALT , FCONTROL. Так же можно FVIRTKEY, если нужно использовать клавиши без сочетаний (shift,ctrl,alt)

Shortcut - Любая клавиша(ниже список). В linux не все из предложенных клавиш могут использоваться. Например не получится использовать клавиши со стрелками, TAB и некоторые другие (см. заголовок keys.bi). Это связано с ограничениями , заложенными в GTK для accel_group. Однако вы можете недоступные клавиши попытаться отловить с помощью сообщения eventkey.

IDevent - номер события. Рекомендуется использование номеров от 2 до 65535. Использование 0 запрещено. Использование 1 может вызвать наложение некоторых событий.

Платформы

Windows , Linux

Пример

#Include "window9.bi"
Dim As Integer event
Var hwnd=OpenWindow("",10,10,200,200):CenterWindow(hwnd)
AddKeyboardShortcut(hwnd,FCONTROL,VK_Q,1001) 'CTRL+Q
AddKeyboardShortcut(hwnd,FCONTROL,VK_W,1002) 'CTRL+W
Do
  event=WaitEvent
  If event=EventMenu Then
     Select case EventNumber
        Case 1001
           MessBox("","1 меню")
        Case 1002
           MessBox("","2 меню")
     End Select
  EndIf
  If event=EventClose Then End
Loop

Результат

 

СКАНКОДЫ КЛАВИАТУРЫ:

Константа WinApi

Hex значение

Клавиатурный или
мышиный эквивалент

VK_LBUTTON

01

Left mouse button

VK_RBUTTON

02

Right mouse button

VK_CANCEL

03

Control-break processing

VK_MBUTTON

04

Middle mouse button
(three-button mouse)

-

05-07

Undefined

VK_BACK

08

BACKSPACE key

VK_TAB

09

TAB key

-

0A-0B

Undefined

VK_CLEAR

0C

CLEAR key

VK_RETURN

0D

ENTER key

-

0E-0F

Undefined

VK_SHIFT

10

SHIFT key

VK_CONTROL

11

CTRL key

VK_MENU

12

ALT key

VK_PAUSE

13

PAUSE key

VK_CAPITAL

14

CAPS LOCK key

-

15-19

Зарезервировано для систем Kanji

-

1A

Undefined

VK_ESCAPE

1B

ESC key

-

1C-1F

Зарезервировано для систем Kanji

VK_SPACE

20

SPACEBAR

VK_PRIOR

21

PAGE UP key

VK_NEXT

22

PAGE DOWN key

VK_END

23

END key

VK_HOME

24

HOME key

VK_LEFT

25

LEFT ARROW key

VK_UP

26

UP ARROW key

VK_RIGHT

27

RIGHT ARROW key

VK_DOWN

28

DOW NARROW key

VK_SELECT

29

SELECT key

-

2A

Original equipment
manufacturer (OEM) specific

VK_EXECUTE

2B

EXECUTE key

VK_SNAPSHOT

2C

PRINT SCREEN key
for Windows3.0 and later

VK_INSERT

2D

INS key

VK_DELETE

2E

DEL key

VK_HELP

2F

HELP key

VK_0

30

0 key

VK_1

31

1 key

VK_2

32

2 key

VK_3

33

3 key

VK_4

34

4 key

VK_5

35

5 key

VK_6

36

6 key

VK_7

37

7 key

VK_8

38

8 key

VK_9

39

9 key

-

3A-40

Undefined

VK_A

41

A key

VK_B

42

B key

VK_C

43

C key

VK_D

44

D key

VK_E

45

E key

VK_F

46

F key

VK_G

47

G key

VK_H

48

H key

VK_I

49

I key

VK_J

4A

J key

VK_K

4B

K key

VK_L

4C

L key

VK_M

4D

M key

VK_N

4E

N key

VK_O

4F

O key

VK_P

50

P key

VK_Q

51

Q key

VK_R

52

R key

VK_S

53

S key

VK_T

54

T key

VK_U

55

U key

VK_V

56

V key

VK_W

57

W key

VK_X

58

X key

VK_Y

59

Y key

VK_Z

5A

Z key

VK_LWIN

5B

Left Windows key
(Microsoft Natural Keyboard)

VK_RWIN

5C

Right Windows key
(Microsoft Natural Keyboard)

VK_APPS

5D

Applications key
(Microsoft Natural Keyboard)

-

5E-5F

Undefined

VK_NUMPAD0

60

Numeric keypad 0 key

VK_NUMPAD1

61

Numeric keypad 1 key

VK_NUMPAD2

62

Numeric keypad 2 key

VK_NUMPAD3

63

Numeric keypad 3 key

VK_NUMPAD4

64

Numeric keypad 4 key

VK_NUMPAD5

65

Numeric keypad 5 key

VK_NUMPAD6

66

Numeric keypad 6 key

VK_NUMPAD7

67

Numeric keypad 7 key

VK_NUMPAD8

68

Numeric keypad 8 key

VK_NUMPAD9

69

Numeric keypad 9 key

VK_MULTIPLY

6A

Multiply key

VK_ADD

6B

Add key

VK_SEPARATOR

6C

Separator key

VK_SUBTRACT

6D

Subtract key

VK_DECIMAL

6E

Decimal key

VK_DIVIDE

6F

Divide key

VK_F1

70

F1 key

VK_F2

71

F2 key

VK_F3

72

F3 key

VK_F4

73

F4 key

VK_F5

74

F5 key

VK_F6

75

F6 key

VK_F7

76

F7 key

VK_F8

77

F8 key

VK_F9

78

F9 key

VK_F10

79

F10 key

VK_F11

7A

F11 key

VK_F12

7B

F12 key

VK_F13

7C

F13 key

VK_F14

7D

F14 key

VK_F15

7E

F15 key

VK_F16

7F

F16 key

VK_F17

80H

F17 key

VK_F18

81H

F18 key

VK_F19

82H

F19 key

VK_F20

83H

F20 key

VK_F21

84H

F21 key

VK_F22

85H

F22 key

VK_F23

86H

F23 key

VK_F24

87H

F24 key

-

88-8F

Unassigned

VK_NUMLOCK

90

NUMLOCK key

VK_SCROLL

91

SCROLL LOCK key

-

92-B9

Unassigned

-

BA-C0

OEM specific

-

C1-DA

Unassigned

-

DB-E4

OEM specific

-

E5

Unassigned

-

E6

OEM specific

-

E7-E8

Unassigned

-

E9-F5

OEM specific

VK_ATTN

F6

Attn key

VK_CRSEL

F7

CrSel key

VK_EXSEL

F8

ExSel key

VK_EREOF

F9

Erase EOF key

VK_PLAY

FA

Play key

VK_ZOOM

FB

Zoom key

VK_NONAME

FC

Зарезервировано на будущее

VK_PA1

FD

PA1 key

VK_OEM_CLEAR

FE

Clear key

Created with the Personal Edition of HelpNDoc: Full featured multi-format Help generator