MFC - Pulsante Bitmap

UN bitmap buttonmostra un'immagine o un'immagine e del testo sulla sua faccia. Questo di solito ha lo scopo di rendere il pulsante un po 'esplicito. Un pulsante bitmap viene creato utilizzando ilCBitmapButton class, che è derivato da CButton.

Ecco l'elenco dei metodi nella classe CBitmapButton.

Sr.No. Nome e descrizione
1

AutoLoad

Associa un pulsante in una finestra di dialogo a un oggetto della classe CBitmapButton, carica le bitmap per nome e ridimensiona il pulsante per adattarla alla bitmap.

2

LoadBitmaps

Inizializza l'oggetto caricando una o più risorse bitmap denominate dal file di risorse dell'applicazione e allegando le bitmap all'oggetto.

3

SizeToContent

Ridimensiona il pulsante alla dimensione delle bitmap.

Ecco l'elenco della mappatura dei messaggi per il controllo del pulsante Bitmap:

Messaggio Voce sulla mappa Descrizione
BN_CLICKED ON_BN_CLICKED (<id>, <memberFxn>) Il framework chiama questa funzione membro quando si fa clic sul pulsante.
BN_DISABLE ON_BN_DISABLE (<id>, <memberFxn>) Il framework chiama questa funzione membro quando il pulsante è disabilitato.
BN_DOUBLECLICKED ON_BN_DOUBLECLICKED (<id>, <memberFxn>) Il framework chiama questa funzione membro quando si fa doppio clic sul pulsante.
BN_PAINT ON_BN_PAINT (<id>, <memberFxn>) Il framework chiama questa funzione membro quando un'applicazione effettua una richiesta per ridisegnare un pulsante.

Vediamo un semplice esempio creando un nuovo progetto.

Step 1 - Aggiungi una bitmap dalla finestra di dialogo Aggiungi risorsa.

Step 2 - Seleziona Bitmap e fai clic su Nuovo.

Step 3 - Progetta la tua bitmap e cambia il suo ID in IDB_BITMAP_START come mostrato sopra.

Step 4 - Aggiungi un pulsante alla finestra di dialogo e aggiungi anche una variabile di controllo m_buttonStart per quel pulsante.

Step 5- Aggiungi una variabile bitmap nel tuo file di intestazione. Ora puoi vedere le seguenti due variabili.

CBitmap m_bitmapStart;
CButton m_buttonStart;

Step 6 - Modifica il tuo metodo OnInitDialog () come mostrato nel codice seguente.

m_bitmapStart.LoadBitmap(IDB_BITMAP_START);
HBITMAP hBitmap = (HBITMAP)m_bitmapStart.GetSafeHandle();
m_buttonStart.SetBitmap(hBitmap);

Step 7 - Quando il codice sopra è stato compilato ed eseguito, vedrai il seguente output.