Pada Windows 7 dengan tema Aero, jendela Preferensi Notepad ++ memiliki sudut persegi, tidak ada ikon menu sistem, tombol tutup, dan 1px
batas yang lebih gelap . Jendela ini juga memiliki AlwaysOnTop
atribut.
(Saya mengubah ukuran jendela agar sesuai dengan lebar 640px
.)
Cukup menarik, Anda dapat menyalin gaya ini ke windows lain menggunakan AutoHotkey . Jadi, tampaknya tidak ada trik kotor yang terlibat. Namun, saya tidak berpikir saya telah melihat gaya jendela ini di tempat lain.
Apakah menggunakan gaya ini dikutuk oleh Microsoft? Apakah jenis jendela ini memiliki nama?
Untuk yang penasaran: Normal vs "Square"
Jawaban:
Ini disebut Jendela Alat (bilah) . Setiap jendela yang memiliki
WS_EX_TOOLWINDOW
gaya ekstensi akan dirender tanpa menu sistem atau kotak diperkecil / maksimalkan, dan bilah judul kecil. Di Windows XP dan yang lebih tinggi (tema dukungan), jendela alat biasanya dirender tanpa sudut membulat (setidaknya dengan tema default).Gaya ini biasanya digunakan untuk bilah alat (Gambar 1). Anda dapat melihatnya dengan menyeret bilah alat dari program yang memungkinkan Anda mengatur ulang bilah alat. Perhatikan bahwa itu menjadi jendela yang terlihat seperti yang dimaksud. Windows Explorer juga menggunakannya untuk deskbands (Gambar 2) yang pada dasarnya adalah hal yang sama. Anda dapat melihatnya dengan menyeret folder ke salah satu tepi layar, lalu seret bilah alat / deskband yang dihasilkan ke desktop.
Jelas beberapa program menggunakan gaya untuk tujuan lain, seringkali sebagai cara untuk membuat semacam modal, dialog sementara yang merupakan anak dari program utama.
Catatan: ini memiliki beberapa efek (dua yang pertama biasanya merupakan alasan untuk penggunaannya yang tidak standar):
Gambar 1: Jendela toolbar MSPaint
Gambar 2: Deskband Windows Explorer
sumber
Alt
+PrintScreen
menangkap hanya dialog di Windows 7 dengan dialog Notepad ++ Preferences.Ini merinci nama gaya jendela ini dan opsi yang tersedia di .NET; lihat @ Synetech jawaban yang sangat baik untuk tujuan asli gaya jendela ini, alasannya dapat digunakan untuk kotak dialog tersebut dan implementasi dalam program Windows yang tidak dikelola seperti Notepad ++.
Jendela memiliki sudut persegi dan terlihat seperti itu karena salah satu desainer / programmer Notepad ++ memutuskan untuk menggunakan gaya jendela tertentu. Synetech merinci keuntungan dari gaya jendela itu.
Di .NET / Visual Studio, ini diatur di
FormBorderStyle
propertiSystem.Windows.Forms.Form
kelas. Secara khusus, itu adalahFixedToolWindow
. Nilai yang mungkin ada dalamSystem.Windows.Forms.FormBorderStyle
enumerasi.The
ToolWindow
s di NET dengan semua pekerjaan nilai default sedikit yang berbeda dari biasaWS_EX_TOOLWINDOW
dalam Windows API, walaupun mereka terlihat sama. Dengan pengujian, saya telah menentukan bahwa mereka tidak muncul di taskbar dan mereka tidak muncul di Alt+ Tabtugas switcher kecuali properti bentukShowInTaskbar
diatur kefalse
.ShowInTaskbar
memengaruhi visibilitas di bilah tugas dan Alt+ TabuntukToolWindow
s, tetapi hanya bilah tugas untuk orang lain.Sementara itu, dimungkinkan juga untuk menghapus ikon / perkecil / kembalikan / maksimalkan tombol dari gaya jendela yang lebih umum, meskipun sepertinya tidak mungkin untuk menambahkannya ke
ToolWindow
s. Dimungkinkan juga untuk menyembunyikan windows normal dari taskbar.Satu-satunya
WS_EX_TOOLWINDOW
penawaran keunggulan fungsional , sejauh yang saya tahu, adalah bahwa jendela tidak muncul di Alt+ Tab.Saya telah menyertakan beberapa tangkapan layar yang membandingkan gaya jendela .NET. Ini tidak langsung digunakan oleh Notepad ++, atau program unmanaged lain, tetapi yang dinamai oleh Microsoft, jadi ...
Nilai yang mungkin dari
FormBorderStyle
:Gambar pertama adalah tangkapan layar dari program yang berjalan dengan Aero diaktifkan, yang kedua adalah dari tampilan desainer Visual Studio (no Aero).
Klik gambar untuk versi ukuran penuh.
Deskripsi diambil dari artikel MSDN pada
FormBorderStyle
enumerasi.None
FixedSingle
Fixed3D
FixedDialog
Sizable
(default)FixedToolWindow
SizableToolWindow
sumber
WS_EX_TOOLWINDOW
gaya. NET hanya aliasFixedToolWindow
untukWS_EX_TOOLWINDOW
danSizableToolWindow
untukWS_EX_TOOLWINDOW|WS_THICKFRAME
. Jangan tersinggung, tetapi jawaban ini tidak benar-benar menjawab pertanyaan atau menjelaskan perilaku yang ditanyakan, itu hanyalah daftar / sumber daya dari berbagai gaya jendela yang digunakan dalam .NET.Does this type of window have a name?
Itu menjawab sebanyak itu, setidaknya dari perspektif .NET programmer. Dan penjelasannya? Karena programmer merasa suka menggunakannya. Anda telah mencantumkan efek yang mungkin diinginkan. Itu saja. Apakah itu direkomendasikan atau dikutuk oleh MS, saya tidak tahu. Secara pribadi, saya pikir Anda telah melakukan pekerjaan yang mengagumkan dalam menjelaskannya.