Bagikan melalui


Gaya Kelas Jendela

Gaya kelas menentukan elemen tambahan dari kelas jendela. Dua gaya atau lebih dapat digabungkan dengan menggunakan operator bitwise OR (|). Untuk menetapkan gaya ke kelas jendela, tetapkan gaya ke anggota gaya struktur WNDCLASSEX .

Contoh

    WNDCLASS wc = {};
    wc.lpfnWndProc = s_DropDownWndProc;
    wc.cbWndExtra = sizeof(CTipACDialog *);
    wc.hInstance = g_hInstance;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wc.style = CS_SAVEBITS | CS_DROPSHADOW;
    wc.lpszClassName = s_wzClassName;
    RegisterClass(&wc);

Contoh dari Sampel Klasik Windows di GitHub.

Konstanta

Berikut ini adalah gaya kelas jendela.

Konstanta/nilai Deskripsi
CS_BYTEALIGNCLIENT
0x1000
Menyelaraskan area klien jendela pada batas byte (ke arah x). Gaya ini mempengaruhi lebar jendela dan penempatan horizontalnya pada tampilan.
CS_BYTEALIGNWINDOW
0x2000
Meratakan jendela pada batas byte (ke arah x). Gaya ini mempengaruhi lebar jendela dan penempatan horizontalnya pada tampilan.
CS_CLASSDC
0x0040
Mengalokasikan satu konteks perangkat untuk dibagikan oleh semua jendela di kelas . Karena kelas jendela diproses secara spesifik, dimungkinkan bagi beberapa utas aplikasi untuk membuat jendela kelas yang sama. Dimungkinkan juga bagi utas untuk mencoba menggunakan konteks perangkat secara bersamaan. Ketika ini terjadi, sistem hanya memungkinkan satu utas untuk berhasil menyelesaikan operasi menggambarnya.
CS_DBLCLKS
0x0008
Mengirim pesan klik ganda ke prosedur jendela saat pengguna mengklik dua kali mouse saat kursor berada di dalam jendela milik kelas.
CS_DROPSHADOW
0x00020000
Mengaktifkan efek bayangan jatuh pada jendela. Efeknya dihidupkan dan dimatikan melalui SPI_SETDROPSHADOW. Biasanya, ini diaktifkan untuk jendela kecil berumur pendek seperti menu untuk menekankan hubungan urutan Z mereka ke jendela lain. Windows yang dibuat dari kelas dengan gaya ini harus merupakan jendela tingkat atas; mereka mungkin bukan jendela anak.
CS_GLOBALCLASS
0x4000
Menunjukkan bahwa kelas jendela adalah kelas global aplikasi. Untuk informasi selengkapnya, lihat bagian "Kelas Global Aplikasi" di Tentang Kelas Jendela.
CS_HREDRAW
0x0002
Menggambar ulang seluruh jendela jika pergerakan atau penyesuaian ukuran mengubah lebar area klien.
CS_NOCLOSE
0x0200
Menonaktifkan Tutup pada menu jendela.
CS_OWNDC
0x0020
Mengalokasikan konteks perangkat unik untuk setiap jendela di kelas .
CS_PARENTDC
0x0080
Menyetel persegi panjang kliping jendela anak ke jendela induk agar anak bisa menggambar pada induknya. Jendela dengan bit gaya CS_PARENTDC menerima konteks perangkat reguler dari cache konteks perangkat sistem. Ini tidak memberi anak konteks perangkat induk atau pengaturan konteks perangkat. Menentukan CS_PARENTDC meningkatkan performa aplikasi.
CS_SAVEBITS
0x0800
Menyimpan, sebagai bitmap, bagian gambar layar dikaburkan oleh jendela kelas ini. Ketika jendela dihapus, sistem menggunakan bitmap yang disimpan untuk memulihkan gambar layar, termasuk jendela lain yang dikaburkan. Oleh karena itu, sistem tidak mengirim WM_PAINT pesan ke jendela yang dikaburkan jika memori yang digunakan oleh bitmap belum dibuang dan jika tindakan layar lain belum membatalkan gambar yang disimpan.
Gaya ini berguna untuk jendela kecil (misalnya, menu atau kotak dialog) yang ditampilkan secara singkat lalu dihapus sebelum aktivitas layar lainnya berlangsung. Gaya ini meningkatkan waktu yang diperlukan untuk menampilkan jendela, karena sistem harus terlebih dahulu mengalokasikan memori untuk menyimpan bitmap.
CS_VREDRAW
0x0001
Menggambar ulang seluruh jendela jika pergerakan atau penyesuaian ukuran mengubah tinggi area klien.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Winuser.h (termasuk Windows.h)