Отключить тематическую границу окна - PullRequest
0 голосов
/ 03 мая 2010

В CMD в Windows XP граница Luna к нему не применяется. альтернативный текст http://wedowebstuff.info/uploads/1272861285CMDNotThemed%5D.png

Возможно ли сделать это аналогичным образом в Visual C # Winforms для приложения? Мне просто интересно, как это делается, конечно, я не собираюсь заставлять ни одно из моих приложений не использовать красивую тему XP / Aero: P

Спасибо.

edit : добавление примечания к нему через много месяцев. Граница Luna не применяется к CMD из-за того, что она технически является 16-битным (старым) приложением, поэтому она не использует стандартную систему тем Windows (или управление окнами), о чем свидетельствует тот факт, что ее нельзя развернуть ). Такие приложения распространены в 32-битных окнах (16-битные приложения были удалены в сборках x64 Windows), например, sysedit . Тот факт, что в Vista / 7 он имеет правильно тематическую границу окна (но не внутренние элементы управления), связан с тем, что Aero / Desktop Window Manager (DWM) переопределяет все границы окна и отображает их. Если мы переключимся на базовую / классическую тему, это несоответствие продолжится.

x64 cmd.exe не имеет этой проблемы. :)

1 Ответ

1 голос
/ 03 мая 2010

Я не знаю, как изменить границу, но на заметку, я делаю знаю, как вы можете контролировать внешний вид элементов управления. Насколько я знаю (я программист Linux, поэтому у меня ограниченные знания в этой области), без включенного XPCommonControls у вас будут элементы управления в «старом стиле», но с ним у вас будут «приятные» кнопки, стилизованные под настройки стиля системы.

...