「ダークモード対応」の版間の差分

編集の要約なし
編集の要約なし
編集の要約なし
90行目: 90行目:
</source>
</source>
==TButton や TComboBox などをダークモードに対応させるには?==
==TButton や TComboBox などをダークモードに対応させるには?==
SetWindowTheme メソッドを使用してダークモードのテーマを割り当ててやることで、一部のコンポーネントはダークモードに対応させることができるようです。
Winapi.UxTheme の SetWindowTheme メソッドを使用してダークモードのテーマを割り当ててやることで、一部のコンポーネントはダークモードに対応させることができるようです。
<source lang="delphi">
<source lang="delphi">
SetWindowTheme(Handle, 'DarkMode_Explorer', nil);
SetWindowTheme(Handle, 'DarkMode_Explorer', nil);
</source>
しかしながら まだ情報が公開されていないこともあって 'DarkMode_Explorer' の部分は謎ですが、例えば TTreeView や TButton ですと 'DarkMode_Explorer'、TComboBox ですと 'DarkMode_CFD'、TListView ですと 'DarkMode_Explorer' か 'DarkMode_ItemsView' でダークモードが適用されるようです。
==タイトルバーをダークモードに対応させるには?==
ウィンドウのタイトルバーをダークモードに対応させるのは簡単で、DwmSetWindowAttribute を FormShow などで呼び出します。
<source lang="delphi">
var
  LDark: BOOL;
begin
  LDark := True;
  DwmSetWindowAttribute(Handle, 19, @LDark, SizeOf(LDark));
</source>
</source>
スポンサーリンク