Update docs about control switching focus

Signed-off-by: jiajia_deng <2894220@gmail.com>
This commit is contained in:
jiajia_deng 2019-07-17 15:55:56 +08:00
parent bef5c9ac8e
commit 58ab3e1abd
6 changed files with 41 additions and 68 deletions

View File

@ -1,14 +1,14 @@
---
name: 缺陷反馈
about: 提供一个缺陷复现步骤帮助我们修复问题
---
name: 缺陷反馈
about: 提供一个缺陷复现步骤帮助我们修复问题
---
<!-- 在提交这个反馈前请确保当前 issue 中没有相同的问题 -->
<!-- 请使用最新版本的代码确保你反馈的问题尚未修复 -->
<!-- 在提交这个反馈前请确保当前 issue 中没有相同的问题 -->
<!-- 请使用最新版本的代码确保你反馈的问题尚未修复 -->
## 问题现象
## 问题现象
## 重现步骤
## 重现步骤
1.
2.

View File

@ -1,8 +1,8 @@
---
name: 功能建议
about: 提交任何好的建议帮助我们完善项目
---
name: 功能建议
about: 提交任何好的建议帮助我们完善项目
---
<!-- 在提交这个反馈前请确保当前 issue 中没有相同的问题 -->
<!-- 在提交这个反馈前请确保当前 issue 中没有相同的问题 -->
<!-- 描述你想要的功能 -->
<!-- 描述你想要的功能 -->

View File

@ -3,7 +3,7 @@
NIM Duilib 包含了一整套桌面软件的开发部件,与其说这是一个界面库,不如说它是一个开发框架。从原有 Duilib 基础上拓展了一些新的能力,并整合了 Google base 基础类库(线程、内存、闭包等)。您完全可以直接使用这个框架来开发任何你想要的桌面应用。
![GitHub](https://img.shields.io/badge/license-MIT-green.svg)
![Build status](https://ci.appveyor.com/api/projects/status/u29yl0j7pasopm3h/branch/master?svg=true)
[![Build status](https://ci.appveyor.com/api/projects/status/u29yl0j7pasopm3h?svg=true)](https://ci.appveyor.com/project/nmgwddj/nim-duilib-framework)
[English](README_en-US.md)
@ -33,6 +33,7 @@ git clone https://github.com/netease-im/NIM_Duilib_Framework
## 文档
- [快速上手](docs/GETTING-STARTED.md)
- [中文文档](docs/SUMMARY.md)
## 目录

View File

@ -3,7 +3,7 @@
NIM Duilib is a UI development framework for Windows, extend some new features based on the original [Duilib](https://github.com/duilib/duilib). Integrated Google base library with threads/memory/closures. You can use this framework to develop any desktop application you want.
![GitHub](https://img.shields.io/badge/license-MIT-green.svg)
![Build status](https://ci.appveyor.com/api/projects/status/u29yl0j7pasopm3h/branch/master?svg=true)
[![Build status](https://ci.appveyor.com/api/projects/status/u29yl0j7pasopm3h?svg=true)](https://ci.appveyor.com/project/nmgwddj/nim-duilib-framework)
[中文介绍](README.md)
@ -33,6 +33,7 @@ Enter the `NIM_Duilib_Framework/samples` directoryOpen `samples.sln` with Vis
## Documentation
- [Getting Started](docs/GETTING-STARTED.md)
- [Docs](docs/SUMMARY.md)
## Structure

View File

@ -182,6 +182,7 @@
| [IsFocused](#IsFocused) | 检查控件是否具有焦点 |
| [SetFocus](#SetFocus) | 让控件获取焦点 |
| [SetNoFocus](#SetNoFocus) | 让控件设置永远获取不到焦点 |
| [GetControlFlags](#GetControlFlags) | 返回控件的标识,用于判断是否可以响应 TAB 切换事件 |
| [IsMouseFocused](#IsMouseFocused) | 判断当前鼠标焦点是否在控件上 |
| [SetMouseFocused](#SetMouseFocused) | 设置是否将鼠标焦点到控件上 |
| [IsActivatable](#IsActivatable) | 判断控件当前是否是激活状态 |
@ -1447,6 +1448,17 @@ void SetNoFocus()
- 参&emsp;数:无
- 返回值:无
### GetControlFlags
返回控件的标识,用于判断是否可以响应 TAB 切换事件
```cpp
virtual UINT GetControlFlags() const
```
- 参&emsp;数:无
- 返回值:返回控件的标识类型,`UIFLAG_DEFAULT` 为默认状态不支持焦点切换,`UIFLAG_TABSTOP` 为支持焦点切换
### IsMouseFocused
判断当前鼠标焦点是否在控件上

View File

@ -33,7 +33,6 @@
| [Create](#Create) | 创建窗口 |
| [Close](#Close) | 关闭窗口 |
| [ShowWindow](#ShowWindow) | 显示或隐藏窗口 |
| [ShowModal](#ShowModal) | 显示模态对话框(不推荐) |
| [ShowModalFake](#ShowModalFake) | 显示模态对话框(推荐) |
| [CenterWindow](#CenterWindow) | 居中窗口,支持扩展屏幕 |
| [SetIcon](#SetIcon) | 设置窗口图标 |
@ -87,8 +86,6 @@
| [SetMinInfo](#SetMinInfo) | 设置窗口最小范围 |
| [SetMaxInfo](#SetMaxInfo) | 设置窗口最大范围 |
| [SetInitSize](#SetInitSize) | 设置窗口初始大小 |
| [AddPreMessageFilter](#AddPreMessageFilter) | 添加一个消息被派发到窗口前的消息过滤器 |
| [RemovePreMessageFilter](#RemovePreMessageFilter) | 移除一个消息被派发到窗口前的消息过滤器 |
| [AddMessageFilter](#AddMessageFilter) | 添加一个消息过滤器,此时消息已经派发 |
| [RemoveMessageFilter](#RemoveMessageFilter) | 移除一个消息过滤器 |
| [AddControlFromPointFinder](#AddControlFromPointFinder) | 查找控件时添加一个根据位置查找控件的钩子 |
@ -96,7 +93,6 @@
| [AddTranslateAccelerator](#AddTranslateAccelerator) | 添加一个 TranslateMessage 之前的消息过滤器 |
| [RemoveTranslateAccelerator](#RemoveTranslateAccelerator) | 移除一个 TranslateMessage 之前的消息过滤器 |
| [TranslateAccelerator](#TranslateAccelerator) | 执行 TranslateMessage 阶段的过滤器 |
| [PreMessageHandler](#PreMessageHandler) | 执行派发消前的过滤器 |
| [HandleMessage](#HandleMessage) | 窗口消息的派发函数 |
| [DoHandlMessage](#DoHandlMessage) | 窗口消息的执行体,用于执行各类过滤器和处理各类消息 |
| [CallWindowProc](#CallWindowProc) | 对 CallWindowProc API 的一层封装 |
@ -113,6 +109,7 @@
| [GetLastMousePos](#GetLastMousePos) | 获取鼠标最后的坐标 |
| [SetHandlePointer](#SetHandlePointer) | 设置是否处理触控消息 |
| [GetTooltipWindow](#GetTooltipWindow) | 获取提示信息所属的窗口句柄 |
| [SetNextTabControl](#SetNextTabControl) | 切换控件焦点到下一个(或上一个)控件 |
| [GetRoot](#GetRoot) | 获取窗口最外层的容器 |
| [SetArrange](#SetArrange) | 设置控件是否已经布局 |
| [AddDelayedCleanup](#AddDelayedCleanup) | 延迟销毁一个控件 |
@ -269,17 +266,6 @@ virtual void ShowWindow(bool bShow = true, bool bTakeFocus = true)
- `bTakeFocus` 是否获得焦点(激活窗口),默认为 true
- 返回值:无
### ShowModal
显示模态对话框(不推荐)
```cpp
UINT ShowModal()
```
- 参&emsp;数:无
- 返回值:接收到的消息
### ShowModalFake
显示模态对话框(推荐)
@ -923,30 +909,6 @@ void SetInitSize(int cx, int cy, bool bContainShadow = false, bool bNeedDpiScale
- `bNeedDpiScale` 为 false 表示不根据 DPI 调整
- 返回值:无
### AddPreMessageFilter
添加一个消息被派发到窗口前的消息过滤器
```cpp
bool AddPreMessageFilter(IUIMessageFilter* pFilter)
```
- 参&emsp;数:
- `pFilter` 一个继承了 IUIMessageFilter 的对象实例,需要实现 MessageHandler 方法
- 返回值:始终返回 true
### RemovePreMessageFilter
移除一个消息被派发到窗口前的消息过滤器
```cpp
bool RemovePreMessageFilter(IUIMessageFilter* pFilter)
```
- 参&emsp;数:
- `pFilter` 一个继承了 IUIMessageFilter 的对象实例
- 返回值:返回 true 表示移除成功,否则可能该过滤器不存在
### AddMessageFilter
添加一个消息过滤器,此时消息已经派发
@ -1031,21 +993,6 @@ bool TranslateAccelerator(LPMSG pMsg)
- `pMsg` 消息体
- 返回值:返回 true 成功处理消息,否则返回 false
### PreMessageHandler
执行派发消前的过滤器
```cpp
bool PreMessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT& lRes)
```
- 参&emsp;数:
- `uMsg` 消息体
- `wParam` 消息附加参数
- `lParam` 消息附加参数
- `lRes` 处理结果
- 返回值:返回 true 则继续派发该消息,否则不再派发该消息
### HandleMessage
窗口消息的派发函数
@ -1239,6 +1186,18 @@ HWND GetTooltipWindow()
- 参&emsp;数:无
- 返回值:返回提示信息的窗口句柄
### SetNextTabControl
切换控件焦点到下一个(或上一个)控件
```cpp
bool SetNextTabControl(bool bForward = true)
```
- 参&emsp;数:
- `bForward` true 为上一个控件,否则为 false默认为 true
- 返回值:始终返回 true暂无参考意义
### GetRoot
获取窗口最外层的容器