DPI_HOSTING_BEHAVIOR 枚举 (windef.h)
标识窗口的 DPI 承载行为。 此行为允许在线程中创建的窗口托管具有不同 DPI_AWARENESS_CONTEXT
语法
typedef enum DPI_HOSTING_BEHAVIOR {
DPI_HOSTING_BEHAVIOR_INVALID = -1,
DPI_HOSTING_BEHAVIOR_DEFAULT = 0,
DPI_HOSTING_BEHAVIOR_MIXED = 1
} ;
常量
DPI_HOSTING_BEHAVIOR_INVALID 值: -1 无效的 DPI 承载行为。 如果以前的 SetThreadDpiHostingBehavior 调用使用了无效的参数,则通常会发生这种情况。 |
DPI_HOSTING_BEHAVIOR_DEFAULT 值: 0 默认 DPI 托管行为。 关联的窗口行为正常,不能创建具有不同 DPI_AWARENESS_CONTEXT的子窗口或重新创建子窗口。 |
DPI_HOSTING_BEHAVIOR_MIXED 值:1 混合 DPI 托管行为。 这样就可以创建具有不同DPI_AWARENESS_CONTEXT的子窗口并重新设置 父级窗口。 这些子窗口将由 OS 独立缩放。 |
注解
DPI_HOSTING_BEHAVIOR 启用混合内容托管行为,从而允许在线程中创建的父窗口托管具有不同 DPI_AWARENESS_CONTEXT 值的子窗口。 当混合托管行为处于活动状态时,此属性仅影响在此线程中创建的新窗口。 具有此托管行为的父窗口能够承载具有不同 DPI_AWARENESS_CONTEXT 值的子窗口,而不管子窗口是否启用了混合托管行为。
此托管行为不允许具有每个监视器 DPI_AWARENESS_CONTEXT 值的窗口由 DPI_AWARENESS_CONTEXT 值为系统或不知道的窗口托管。
为了避免意外结果,应仅在创建需要支持这些行为的新窗口时更改线程 DPI_HOSTING_BEHAVIOR 以支持混合托管行为。 创建该窗口后,托管行为应切换回其默认值。
启用混合托管行为不会自动调整线程 DPI_AWARENESS_CONTEXT ,使其与旧内容兼容。 在创建新窗口以托管此类内容之前,仍必须手动更改线程的感知上下文。
要求
最低受支持的客户端 | Windows 10版本 1803 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
标头 | windef.h |