Кто-нибудь знает, как назначить область окна (SetWindowRgn
или Control.Region
в WinForms), не убивая тематику в неклиентской области?
Например, при запуске следующего создается строка заголовка без заголовка Windows 2000, граница и т.д.:
var form = new Form { Width=500, Height=500, BackColor = Color.Azure };
form.Text = "But soft, what light through yonder window breaks?";
var region = new Region (new Rectangle (Point.Empty, form.Size));
region.Exclude (new Rectangle (100, 100, 300, 300));
form.Region = region;
form.ShowDialog();
Я предполагаю, что это связано с этой статьей MSDN, в которой говорится:
Пока окно имеет не-NULL регион, примененный к нему (SetWindowRgn), UxTheme Manager предполагает, что это это специализированное окно и окно не будет использовать визуальные стили.
... следовательно, UxThemes принимает это специализированное окно. Есть ли способ явно сказать UxTheme Manager тему для окна?