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

另请参阅

GetThreadDpiHostingBehavior

GetWindowDpiHostingBehavior

SetThreadDpiHostingBehavior