1# WindowManager_NativeModule
2
3
4## 概述
5
6提供应用窗口的管理能力。
7
8**起始版本:** 12
9
10
11## 汇总
12
13
14### 文件
15
16| 名称 | 描述 |
17| -------- | -------- |
18| [oh_window_comm.h](oh__window__comm_8h.md) | 提供窗口的公共枚举、公共定义等。 |
19| [oh_window_event_filter.h](oh__window__event__filter_8h.md) | 定义窗口管理按键事件过滤的接口,当多模输入的事件经过窗口时,可以通过过滤接口拦截事件不让事件往下分发。 |
20
21
22### 类型定义
23
24| 名称 | 描述 |
25| -------- | -------- |
26| typedef enum [WindowManager_ErrorCode](#windowmanager_errorcode)  [WindowManager_ErrorCode](#windowmanager_errorcode) | 窗口管理接口返回状态码枚举。 |
27| typedef bool(\*[OH_NativeWindowManager_KeyEventFilter](#oh_nativewindowmanager_keyeventfilter)) (Input_KeyEvent \*keyEvent) | 定义多模按键的过滤函数。 |
28
29
30### 枚举
31
32| 名称 | 描述 |
33| -------- | -------- |
34| [WindowManager_ErrorCode](#windowmanager_errorcode) { OK = 0, INVAILD_WINDOW_ID = 1000, SERVICE_ERROR = 2000 } | 窗口管理接口返回状态码枚举。 |
35
36
37### 函数
38
39| 名称 | 描述 |
40| -------- | -------- |
41| [WindowManager_ErrorCode](#windowmanager_errorcode)  [OH_NativeWindowManager_RegisterKeyEventFilter](#oh_nativewindowmanager_registerkeyeventfilter) (int32_t windowId, [OH_NativeWindowManager_KeyEventFilter](#oh_nativewindowmanager_keyeventfilter) keyEventFilter) | 注册按键事件的过滤函数。 |
42| [WindowManager_ErrorCode](#windowmanager_errorcode)  [OH_NativeWindowManager_UnregisterKeyEventFilter](#oh_nativewindowmanager_unregisterkeyeventfilter) (int32_t windowId) | 取消注册窗口的按键事件过滤函数。 |
43
44
45## 类型定义说明
46
47
48### OH_NativeWindowManager_KeyEventFilter
49
50```
51typedef bool(* OH_NativeWindowManager_KeyEventFilter) (Input_KeyEvent *keyEvent)
52```
53
54**描述**
55
56定义多模按键的过滤函数。
57
58**起始版本:** 12
59
60**参数:**
61
62| 名称 | 描述 |
63| -------- | -------- |
64| keyEvent | 多模按键事件,具体可见Input_KeyEvent,事件定义在oh_input_manager中。 |
65
66**返回:**
67
68返回是否过滤该事件,返回true窗口不再往下分发,返回false表示不拦截
69
70
71### WindowManager_ErrorCode
72
73```
74typedef enum WindowManager_ErrorCode WindowManager_ErrorCode
75```
76
77**描述**
78
79窗口管理接口返回状态码枚举。
80
81**起始版本:** 12
82
83
84## 枚举类型说明
85
86
87### WindowManager_ErrorCode
88
89```
90enum WindowManager_ErrorCode
91```
92
93**描述**
94
95窗口管理接口返回状态码枚举。
96
97**起始版本:** 12
98
99| 枚举值 | 描述 |
100| -------- | -------- |
101| OK | 成功。 |
102| INVAILD_WINDOW_ID | 非法窗口ID。 |
103| SERVICE_ERROR | 服务异常。 |
104
105
106## 函数说明
107
108
109### OH_NativeWindowManager_RegisterKeyEventFilter()
110
111```
112WindowManager_ErrorCode OH_NativeWindowManager_RegisterKeyEventFilter (int32_t windowId, OH_NativeWindowManager_KeyEventFilter keyEventFilter )
113```
114
115**描述**
116
117注册按键事件的过滤函数。
118
119**起始版本:** 12
120
121**参数:**
122
123| 名称 | 描述 |
124| -------- | -------- |
125| windowId | 需要过滤按键事件的窗口ID。 |
126| keyEventFilter | 多模按键的过滤函数。 |
127
128**返回:**
129
130返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
131
132
133### OH_NativeWindowManager_UnregisterKeyEventFilter()
134
135```
136WindowManager_ErrorCode OH_NativeWindowManager_UnregisterKeyEventFilter (int32_t windowId)
137```
138
139**描述**
140
141取消注册窗口的按键事件过滤函数。
142
143**起始版本:** 12
144
145**参数:**
146
147| 名称 | 描述 |
148| -------- | -------- |
149| windowId | 需要取消过滤按键事件的窗口ID。 |
150
151**返回:**
152
153返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
154