CBitmapButton

Etiketli metin yerine bit eşlemli görüntüleri ile buton denetimler oluşturmak için CBitmapButton sınıfını kullanın. CBitmapButton nesneleri içeren görüntüler için bir düğme varsayalım farklı durumlar içeren dört bit eşlemler: up (veya normal), aşağı (veya seçili), odaklanmış ve devre dışı. Yalnızca ilk bit eşlem gereklidir; diğerleri isteğe bağlıdır.

Bit eşlem-düğme resimlerini görüntünün yanı sıra görüntü çevresindeki kenarlığı ekleyin. Sınır genellikle düğme durumunu gösteren bir rol oynar. Örneğin, bitmap odaklı devlet için genellikle bir yukarı durumu ama sınır ya da kalın bir düz çizgi sınırından kesik dikdörtgen girinti ile gibidir. Engelli genellikle devlet için Yukarı durumu ama düşük kontrast (gibi bir soluk ya da gri menü seçimi) için bitmap benzer.

Bu bit eşlemler herhangi bir boyut olabilir, ancak yukarı durumu bit eşlem aynı boyutta sanki tüm tedavi edilir.

Bitmap görüntüleri farklı kombinasyonları çeşitli uygulamalar talep:

Yukarı Aşağı Odaklı Engelli Uygulama
× Bit eşlem
× × ws_tabstop tarzı olmadan düğmesi
× × × × Tüm ülkelerle iletişim düğmesini
× × × ws_tabstop Stili iletişim kutusu düğmesini

Bir bitmap butto&n denetimi oluştururken, düğme sahibi-drawn.nbsp belirtmek için bs_ownerdraw stil kümesi; Bu düğme için WM_MEASUREITEM ve WM_DRAWITEM iletileri göndermek Windows neden olur; çerçevesinde bu iletileri işleme ve düğme görünümünü sizin için yönetir.

Pencerenin istemci alanında bir bitmap button denetimi oluşturmak için aşağıdaki adımları izleyin.:

  1. Düğme için bir dört bitmap görüntüleri oluşturun.

  2. CBitmapButton nesnesi oluşturmak.

  3. Windows kontrol düğmesi oluşturmak ve CBitmapButton nesnesine eklemek için Oluştur işlevini çağırın.

  4. Bit eşlem düğme inşa edilmiştir sonra bit eşlem kaynaklar yüklenemiyor LoadBitmaps üye işlevini çağırmak.

İletişim kutusu içinde bir bitmap button denetimi eklemek için aşağıdaki adımları izleyin.:

  1. Düğme için bir dört bitmap görüntüleri oluşturun.

  2. İletişim şablon oluşturmak için bit eşlem düğmesini istediğiniz yere yerleştirilmiş bir sahip çizim butonu ile. Şablonda düğmesinin boyutu önemli değildir.

  3. Düğmenin başlığı "MYIMAGE" gibi bir değere ayarlayın ve IDC_MYIMAGE gibi düğme sembolü tanımlamak.

  4. Uygulamanızın kaynak komut, her görüntü harflerinden birini "u," "d" ekleyerek inşa kimlik düğmesi için oluşturulan vermek "f" veya "x" (yukarı, aşağı ve odaklı devre dışı için) düğmesi yazısında kullandık dizeye adım 3. Düğmenin başlığı "MYIMAGE", "MYIMAGEU," "MYIMAGED," "MYIMAGEF," kimliklerini olacağını ve "MYIMAGEX." Gerekir , bit eşlemler çift tırnak içinde kimliğini belirtin. Aksi takdirde kaynak Düzenleyicisi kaynak için bir tamsayı atar ve mfc resim yüklerken başarısız olur.

  5. ( CDialogtüretilmiş) uygulamanızın iletişim sınıfta CBitmapButton üye nesne ekleme.

  6. CDialog nesnesinin OnInitDialog yordamında düğmesinin denetim kimliği ve CDialog nesnenin Bu işaretçiyi parametre olarak kullanarak CBitmapButton nesnesinin AutoLoad , ilevini.

BN_CLICKEDgibi Windows bildirim iletileri işlemek istiyorsanız üst için bir bit eşlem-button denetimi tarafından gönderilen (genellikle türetilmiş sınıf gelen CDialog), CDialogiçin Ekle-nesne bir iletiyi göster girişi ve ileti işleyicisi üye işlevi her ileti için türetilmiş. Bir CBitmapButton nesnesi tarafından gönderilen bildirimler bir CButton nesnesi tarafından gönderilen aynıdır.

Sınıf CToolBar bit eşlem düğmeler için farklı bir yaklaşım.

CBitmapButtonile ilgili daha fazla bilgi için bkz: Visual c++ programlama Kılavuzu Denetimi konuları.

# include lt;afxext.h>

Sınıf üyeleri |nbsp; Temel sınıf | Hiyerarşi çizelgesi

Ör&neknbsp; mfc örnek ctrltest

Index