CBitmapButton

Utilizzare la classe CBitmapButton per creare controlli pulsante etichettati con immagini bitmap invece di testo. CBitmapButton oggetti contengono fino a quattro bitmap, che contengono immagini per i diversi Stati che può assumere un pulsante: alto (o normale), verso il basso (o selezionati), focalizzato e disabilitata. Solo la prima bitmap è necessaria; gli altri sono facoltativi.

Le immagini bitmap-pulsante includono il bordo intorno l'immagine così come l'immagine stessa. Il confine in genere gioca un ruolo nel mostrare lo stato del pulsante. Ad esempio, la bitmap per lo stato focalizzato è solitamente come quella per lo stato di sempre, ma con un inserto di rettangolo tratteggiato da confine o una linea spessa solida alla frontiera. La bitmap per i disabili di solito stato ricorda quella per lo stato su, ma ha più basso contrasto (come una selezione di menu grigio o grigio).

Queste immagini bitmap può essere di qualsiasi dimensione, ma tutti sono trattati come se fossero le stesse dimensioni della bitmap per lo stato fino.

Varie applicazioni richiedono diverse combinazioni di immagini bitmap:

Fino Verso il basso Focalizzata Disabili Applicazione
× Bitmap
× × Pulsante senza stile WS_TABSTOP
× × × × Pulsante di finestra di dialogo con tutti gli Stati
× × × Pulsante di finestra di dialogo con stile WS_TABSTOP

Quando si crea un controllo button bitmap, impostare lo stile BS_OW&NERDRAW per specificare che il pulsante è proprietario-drawn.nbsp; Questo fa sì che Windows inviare i messaggi WM_MEASUREITEM e WM_DRAWITEM per il pulsante; il framework gestisce questi messaggi e gestisce l'aspetto del pulsante per te.

Per creare un controllo pulsante bitmap nell'area client di una finestra, attenersi alla seguente procedura:

  1. Creare immagini bitmap da uno a quattro per il pulsante.

  2. Costruire l'oggetto CBitmapButton.

  3. Chiamare la funzione Crea per creare il controllo pulsante di Windows e allegarlo all'oggetto CBitmapButton.

  4. Chiamare la funzione membro LoadBitmaps per caricare le risorse bitmap dopo il pulsante bitmap è stato costruito.

Per includere un controllo button bitmap in una finestra di dialogo, attenersi alla seguente procedura:

  1. Creare immagini bitmap da uno a quattro per il pulsante.

  2. Creare un modello di dialogo con un proprietario pulsante posizionato dove si desidera che il pulsante bitmap. Le dimensioni del pulsante nel modello non importa.

  3. Impostare didascalia del pulsante su un valore come "MYIMAGE" e definire un simbolo per il pulsante, come IDC_MYIMAGE.

  4. Nello script di risorsa dell'applicazione, ognuna delle immagini create per il pulsante di un ID costruito aggiungendo una delle lettere "U", "D" dare "F", o "X" (per su, giù, concentrata e disabilitata) alla stringa utilizzata per la didascalia del pulsante nel passaggio 3. Per la didascalia del pulsante "MYIMAGE", ad esempio, gli ID sarebbe "MYIMAGEU", "MYIMAGED", "MYIMAGEF," e "MYIMAGEX". È necessario specificare l'ID del tua bitmap all'interno delle virgolette doppie. In caso contrario l'editor risorse assegnerà un numero intero alla risorsa e MFC avrà esito negativo durante il caricamento dell'immagine.

  5. Nella classe di finestre di dialogo dell'applicazione (derivato da CDialog), aggiungere un oggetto membro CBitmapButton.

  6. Nella routine di OnInitDialog dell'oggetto CDialog , chiama la funzione di caricamento automatico dell'oggetto CBitmapButton usando come parametri ID del controllo del pulsante e il puntatore this dell'oggetto CDialog.

Se si desidera gestire i messaggi di notifica di Windows, come BN_CLICKED, inviato da un controllo pulsante bitmap al suo genitore (di solito una classe derivata da CDialog), aggiungere il CDialog-derivata una mappa messaggi voce e gestione dei messaggi funzione membro oggetto per ogni messaggio. Le notifiche inviate da un oggetto CBitmapButton sono gli stessi di quelli inviati da un oggetto CButton.

La classe CToolBar adotta un approccio diverso ai pulsanti bitmap.

Per ulteriori informazioni su CBitmapButton, vedere Argomenti di controllo nel manuale del programmatore di Visual C++.

# include lt;afxext.h>

Membri della classe |nbsp; Classe base | Gerarchia Chart

Campio&nenbsp; Esempio MFC CTRLTEST

Index