WM_CTLCOLORBTN pesan

Pesan WM_CTLCOLORBTN dikirim ke jendela induk tombol sebelum menggambar tombol. Jendela induk dapat mengubah teks tombol dan warna latar belakang. Namun, hanya tombol yang digambar pemilik yang merespons jendela induk yang memproses pesan ini.

WM_CTLCOLORBTN

    WPARAM wParam;
    LPARAM lParam; 

Parameter

wParam

HDC yang menentukan handel ke konteks tampilan untuk tombol.

lParam

HWND yang menentukan handel ke tombol .

Nilai kembali

Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan handel ke kuas. Sistem ini menggunakan kuas untuk mengecat latar belakang tombol.

Keterangan

Jika aplikasi mengembalikan kuas yang dibuatnya (misalnya, dengan menggunakan fungsi CreateSolidBrush atau CreateBrushIndirect ), aplikasi harus membebaskan kuas. Jika aplikasi mengembalikan kuas sistem (misalnya, yang diambil oleh fungsi GetStockObject atau GetSysColorBrush ), aplikasi tidak perlu membebaskan kuas.

Secara default, fungsi DefWindowProc memilih warna sistem default untuk tombol . Tombol dengan gaya BS_PUSHBUTTON, BS_DEFPUSHBUTTON, atau BS_PUSHLIKE tidak menggunakan kuas yang dikembalikan. Tombol dengan gaya ini selalu digambar dengan warna sistem default. Tombol pendorongan gambar memerlukan beberapa sikat wajah, sorotan, dan bayangan yang berbeda tetapi pesan WM_CTLCOLORBTN hanya memungkinkan satu kuas untuk dikembalikan. Untuk memberikan tampilan kustom untuk tombol dorong, gunakan tombol yang digambar pemilik. Untuk informasi selengkapnya, lihat Membuat Kontrol Owner-Drawn.

Pesan WM_CTLCOLORBTN tidak pernah dikirim di antara utas. Ini hanya dikirim dalam satu utas.

Warna teks kotak centang atau tombol radio berlaku untuk kotak atau tombol, tanda centang, dan teks. Persegi panjang fokus untuk tombol-tombol ini tetap menjadi warna default sistem (biasanya hitam). Warna teks kotak grup berlaku untuk teks tetapi tidak ke baris yang menentukan kotak. Warna teks tombol tekan hanya berlaku untuk persegi panjang fokusnya; ini tidak mempengaruhi warna teks.

Jika prosedur kotak dialog menangani pesan ini, itu harus mentransmisikan nilai pengembalian yang diinginkan ke INT_PTR dan mengembalikan nilai secara langsung. Jika prosedur kotak dialog mengembalikan FALSE, maka penanganan pesan default dilakukan. Nilai DWL_MSGRESULT yang ditetapkan oleh fungsi SetWindowLong diabaikan.

Persyaratan

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

Lihat juga

Sumber Daya Lainnya

RealisasiPalette

SelectPalette