Stili dei pulsanti

Specifica una combinazione di stili di pulsante. Se si crea un pulsante usando la classe BUTTON con la funzione CreateWindow o CreateWindowEx, è possibile specificare uno degli stili del pulsante elencati di seguito.

Esempio

HRESULT Button::CreateText(HWND hParent, const TCHAR *szCaption, int nID, 
                               const Rect& rcBound)
{
    CREATESTRUCT create;
	ZeroMemory(&create, sizeof(CREATESTRUCT));

    create.x = rcBound.left;
    create.y = rcBound.top;
    create.cx = rcBound.right - create.x;
    create.cy = rcBound.bottom - create.y;

    create.hwndParent = hParent;
    create.lpszName = szCaption;
    create.hMenu = (HMENU)(INT_PTR)nID;
    create.lpszClass = TEXT("BUTTON");
    create.style = BS_PUSHBUTTON | BS_FLAT;
    return Control::Create(create);
}

Esempio di esempi classici di Windows in GitHub.

Costanti

Costante Descrizione
BS_3STATE
Crea un pulsante uguale a una casella di controllo, ad eccezione del fatto che la casella può essere disattivata e selezionata o deselezionata. Utilizzare lo stato grigio per mostrare che lo stato della casella di controllo non è determinato.
BS_AUTO3STATE
Crea un pulsante uguale a una casella di controllo a tre stati, ad eccezione del fatto che la casella modifica lo stato quando l'utente lo seleziona. Lo stato viene eseguito tramite checked, indeterminate e cancellate.
BS_AUTOCHECKBOX
Crea un pulsante uguale a una casella di controllo, ad eccezione del fatto che lo stato di controllo attiva automaticamente tra il controllo e deselezionato ogni volta che l'utente seleziona la casella di controllo.
BS_AUTORADIOBUTTON
Crea un pulsante uguale a un pulsante di opzione, ad eccezione del fatto che quando l'utente lo seleziona, il sistema imposta automaticamente lo stato di controllo del pulsante per controllare e imposta automaticamente lo stato di controllo per tutti gli altri pulsanti nello stesso gruppo per cancellare.
BS_BITMAP
Specifica che il pulsante visualizza una bitmap. Vedere la sezione Osservazioni per l'interazione con BS_ICON.
BS_BOTTOM
Inserisce il testo nella parte inferiore del rettangolo del pulsante.
BS_CENTER
Centra il testo orizzontalmente nel rettangolo del pulsante.
BS_CHECKBOX
Crea una casella di controllo piccola e vuota con testo. Per impostazione predefinita, il testo viene visualizzato a destra della casella di controllo. Per visualizzare il testo a sinistra della casella di controllo, combinare questo flag con lo stile BS_LEFTTEXT (o con lo stile BS_RIGHTBUTTON equivalente).
BS_COMMANDLINK
Crea un pulsante di collegamento al comando che si comporta come un pulsante di stile BS_PUSHBUTTON, ma il pulsante collegamento di comando ha una freccia verde a sinistra che punta al testo del pulsante. Un didascalia per il testo del pulsante può essere impostato inviando il messaggio di BCM_SETNOTE al pulsante.
BS_DEFCOMMANDLINK
Crea un pulsante di collegamento al comando che si comporta come un pulsante di stile BS_PUSHBUTTON. Se il pulsante si trova in una finestra di dialogo, l'utente può selezionare il pulsante di collegamento del comando premendo il tasto INVIO, anche quando il pulsante di collegamento del comando non ha lo stato attivo di input. Questo stile è utile per consentire all'utente di selezionare rapidamente l'opzione più probabile (impostazione predefinita).
BS_DEFPUSHBUTTON
Crea un pulsante push che si comporta come un pulsante di stile BS_PUSHBUTTON, ma ha un aspetto distinto. Se il pulsante si trova in una finestra di dialogo, l'utente può selezionare il pulsante premendo il tasto INVIO, anche quando il pulsante non ha lo stato attivo. Questo stile è utile per consentire all'utente di selezionare rapidamente l'opzione più probabile (impostazione predefinita).
BS_DEFSPLITBUTTON
Crea un pulsante di divisione che si comporta come un pulsante di stile BS_PUSHBUTTON, ma ha anche un aspetto distintivo. Se il pulsante di divisione si trova in una finestra di dialogo, l'utente può selezionare il pulsante di divisione premendo il tasto INVIO, anche quando il pulsante di divisione non ha lo stato attivo di input. Questo stile è utile per consentire all'utente di selezionare rapidamente l'opzione più probabile (impostazione predefinita).
BS_GROUPBOX
Crea un rettangolo in cui è possibile raggruppare altri controlli. Qualsiasi testo associato a questo stile viene visualizzato nell'angolo superiore sinistro del rettangolo.
BS_ICON
Specifica che il pulsante visualizza un'icona. Vedere la sezione Osservazioni per l'interazione con BS_BITMAP.
BS_FLAT
Specifica che il pulsante è bidimensionale; non usa l'ombreggiatura predefinita per creare un'immagine 3D.
BS_LEFT
Left-justifica il testo nel rettangolo del pulsante. Tuttavia, se il pulsante è una casella di controllo o un pulsante di opzione che non ha lo stile BS_RIGHTBUTTON, il testo viene lasciato a sinistra sul lato destro della casella di controllo o pulsante di opzione.
BS_LEFTTEXT
Inserisce il testo sul lato sinistro del pulsante di opzione o della casella di controllo in combinazione con un pulsante di opzione o uno stile casella di controllo. Uguale allo stile BS_RIGHTBUTTON.
BS_MULTILINE
Esegue il wrapping del testo del pulsante su più righe se la stringa di testo è troppo lunga per adattarsi a una singola riga nel rettangolo del pulsante.
BS_NOTIFY
Consente a un pulsante di inviare BN_KILLFOCUS e BN_SETFOCUS codici di notifica alla finestra padre.
Si noti che i pulsanti inviano il codice di notifica BN_CLICKED indipendentemente dal fatto che abbia questo stile. Per ottenere BN_DBLCLK codici di notifica, il pulsante deve avere lo stile BS_RADIOBUTTON o BS_OWNERDRAW.
BS_OWNERDRAW
Crea un pulsante disegnato dal proprietario. La finestra del proprietario riceve un messaggio di WM_DRAWITEM quando è stato modificato un aspetto visivo del pulsante. Non combinare lo stile BS_OWNERDRAW con altri stili di pulsante.
BS_PUSHBUTTON
Crea un pulsante push che invia un messaggio WM_COMMAND alla finestra del proprietario quando l'utente seleziona il pulsante.
BS_PUSHLIKE
Crea un pulsante (ad esempio una casella di controllo, una casella di controllo a tre stati o un pulsante di opzione) e agisce come un pulsante di pressione. Il pulsante sembra generato quando non viene premuto o controllato e si è incassato quando viene premuto o controllato.
BS_RADIOBUTTON
Crea un cerchio piccolo con testo. Per impostazione predefinita, il testo viene visualizzato a destra del cerchio. Per visualizzare il testo a sinistra del cerchio, combinare questo flag con lo stile BS_LEFTTEXT (o con lo stile BS_RIGHTBUTTON equivalente). Usare i pulsanti di opzione per i gruppi di opzioni correlate, ma reciprocamente esclusive.
BS_RIGHT
Just-just text nel rettangolo del pulsante. Tuttavia, se il pulsante è una casella di controllo o un pulsante di opzione che non ha lo stile BS_RIGHTBUTTON, il testo è giustificato sul lato destro della casella di controllo o pulsante di opzione.
BS_RIGHTBUTTON
Posiziona il cerchio di un pulsante di opzione o un quadrato della casella di controllo sul lato destro del rettangolo del pulsante. Uguale allo stile BS_LEFTTEXT.
BS_SPLITBUTTON
Crea un pulsante di divisione. Un pulsante di divisione ha una freccia a discesa.
BS_TEXT
Specifica che il pulsante visualizza il testo.
BS_TOP
Inserisce il testo nella parte superiore del rettangolo del pulsante.
BS_TYPEMASK
Non usare questo stile. Bit di stile composito che comporta l'uso dell'operatore OR in BS_* bit di stile. Può essere usato per mascherare i bit validi BS_* da una determinata maschera di bit. Si noti che non è aggiornato e non include correttamente tutti gli stili validi. Pertanto, non è consigliabile usare questo stile.
BS_USERBUTTON
Obsoleto, ma fornito per la compatibilità con le versioni a 16 bit di Windows. Le applicazioni devono invece usare BS_OWNERDRAW.
BS_VCENTER
Posiziona il testo al centro (verticalmente) del rettangolo del pulsante.

Commenti

Per le illustrazioni degli stili del pulsante principale, ad esempio BS_CHECKBOX e BS_GROUPBOX, vedere Tipi di pulsanti.

L'aspetto del testo o di un'icona o di entrambi in un controllo pulsante dipende dagli stili BS_ICON e BS_BITMAP e dal fatto che il messaggio BM_SETIMAGE venga inviato. I risultati possibili sono i seguenti.

BS_ICON o BS_BITMAP impostata? BM_SETIMAGE chiamata? Risultato
Mostra solo l'icona.
No Mostra icona e testo.
No Mostra solo testo.
No No Mostra solo testo

Requisiti

Requisito Valore
Intestazione
Winuser