SetThreadDpiHostingBehavior 函式 (winuser.h)

設定線程的 DPI_HOSTING_BEHAVIOR。 此行為可讓線程中建立的窗口裝載具有不同 DPI_AWARENESS_CONTEXT的子視窗。

語法

DPI_HOSTING_BEHAVIOR SetThreadDpiHostingBehavior(
  DPI_HOSTING_BEHAVIOR value
);

參數

value

目前線程的新 DPI_HOSTING_BEHAVIOR 值。

傳回值

線程的上 一個DPI_HOSTING_BEHAVIOR 。 如果傳入的裝載行為無效,線程將不會更新,而且傳回值將會 DPI_HOSTING_BEHAVIOR_INVALID。 您可以使用此值,在以預先定義的值覆寫舊 DPI_HOSTING_BEHAVIOR 之後還原舊DPI_HOSTING_BEHAVIOR。

備註

DPI_HOSTING_BEHAVIOR 啟用混合內容裝載行為,讓線程中建立的父視窗裝載具有不同 DPI_AWARENESS_CONTEXT 值的子視窗。 此屬性只會影響在混合裝載行為作用中時,在此線程內建立的新視窗。 具有此裝載行為的父視窗能夠裝載具有不同 DPI_AWARENESS_CONTEXT 值的子視窗,不論子視窗是否已啟用混合裝載行為。

此裝載行為不允許具有每個監視器 的窗口裝載DPI_AWARENESS_CONTEXT 值,直到具有系統或未察覺 DPI_AWARENESS_CONTEXT 值的窗口為止。

為了避免非預期的結果,只有在建立需要支持這些行為的新視窗時,線程 的DPI_HOSTING_BEHAVIOR 才應該變更以支援混合裝載行為。 建立該視窗之後,裝載行為應該切換回其預設值。

此 API 可用來從其預設值變更線程 的DPI_HOSTING_BEHAVIOR 。 只有在您的應用程式需要從不支援個別監視器感知內容的外掛程式和第三方元件裝載子視窗時,才需要這麼做。 如果您要更新複雜的應用程式以支援個別監視器 DPI_AWARENESS_CONTEXT 行為,則最有可能發生這種情況。

啟用混合裝載行為不會自動調整線程 的DPI_AWARENESS_CONTEXT ,使其與舊版內容相容。 在建立新視窗以裝載這類內容之前,線程的感知內容仍必須手動變更。

規格需求

需求
最低支援的用戶端 Windows 10 版本 1803 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h
程式庫 User32.lib
Dll User32.dll

另請參閱

DPI_HOSTING_BEHAVIOR

GetThreadDpiHostingBehavior

GetWindowDpiHostingBehavior