テーマ ボタンをペイントするには、次のコードを使用します。
var
h: HTHEME;
begin
if UseThemes then begin
SetWindowTheme(Handle, 'explorer', nil);
h := OpenThemeData(Handle, 'WINDOW');
if h <> 0 then
try
DrawThemeBackground(h, Canvas.Handle, WP_CLOSEBUTTON, GetAeroState, ClientRect, nil);
finally
CloseThemeData(h);
end;
end
else
DrawFrameControl(Canvas.Handle, ClientRect, DFC_CAPTION, DFCS_CAPTIONCLOSE or GetClassicState)
end;
このコードは正常に動作しますが、Windows 8 または 10 でも Windows 7 のテーマのようにペイントされたボタンが表示されます。Windows 10 または 8 のテーマを使用して [閉じる] ボタンをペイントすることは可能ですか?