Отключить тематическую границу окна
В CMD в Windows XP граница Luna к нему не применяется. http://wedowebstuff.info/uploads/1272861285CMDNotThemed%5D.png
Возможно ли сделать это аналогичным образом в Visual C# Winforms для приложения? Мне просто интересно, как это делается, конечно, я не собираюсь заставлять ни одно из моих приложений не использовать красивую тему XP/Aero:P
Благодарю.
редактировать: добавление примечания к этому через много месяцев. Граница Luna не применяется к CMD из-за того, что она технически является 16-битным (старым) приложением, поэтому она не использует стандартную систему тем Windows (и не работает с окнами), о чем свидетельствует тот факт, что ее нельзя развернуть). Такие приложения распространены в 32-битных окнах (16-битные приложения были удалены в сборках x64 Windows), например, sysedit. Тот факт, что в Vista/7 он имеет правильно тематическую границу окна (но не внутренние элементы управления), связан с тем, что Aero/Desktop Window Manager (DWM) переопределяет все границы окна и отображает их. Если мы переключимся на тему Basic/Classic, это несоответствие продолжится.
X64 cmd.exe не имеет этой проблемы.:)
1 ответ
Я не знаю, как изменить границу, но на стороне заметку, я знаю, как вы можете контролировать внешний вид элементов управления. Насколько я знаю (я программист Linux, поэтому у меня ограниченные знания в этой области), без включенного XPCommonControls у вас будут элементы управления в "старом стиле", но с ним у вас будут "приятные" кнопки, стилизованные под настройки стиля системы.