Condividi tramite


Procedura: Aggiungere, modificare o eliminare controlli (C++)

Usando l'Editor finestre di dialogo, è possibile aggiungere, ridimensionare, modificare ed eliminare controlli nelle finestre di dialogo. È anche possibile modificare le proprietà di un controllo, ad esempio il relativo ID, o se è inizialmente visibile in fase di esecuzione.

La scheda Editor finestra di dialogo viene visualizzata nella finestra casella degli strumenti quando si lavora nell'editor di dialoghi. È anche possibile personalizzare la finestra casella degli strumenti per un uso più semplice. Per altre informazioni, vedere Uso della casella degli strumenti e Mostra o nasconde la finestra della casella degli strumenti.

Suggerimento

Durante l'uso dell'editor di dialoghi, in molti casi, è possibile selezionare il pulsante destro del mouse per visualizzare un menu di scelta rapida dei comandi usati di frequente.

Aggiungere controlli

Per aggiungere un controllo

  1. Assicurarsi che la finestra a schede della finestra di dialogo sia il documento corrente nel frame dell'editor. Se una finestra di dialogo non è il documento corrente, nella casella degli strumenti non verrà visualizzata la schedaEditor finestre di dialogo.

  2. Nella scheda Editor finestra di dialogo della finestra Casella degli strumenti selezionare il controllo desiderato, quindi:

    • Selezionare la finestra di dialogo nella posizione in cui si vuole posizionare il controllo e il controllo viene visualizzato in cui è stata selezionata l'opzione.

    • Trascinare e rilasciare il controllo dalla finestra casella degli strumenti alla posizione nella finestra di dialogo. È quindi possibile spostare il controllo o modificarne le dimensioni e la forma.

    • Fare doppio clic sul controllo nella finestra della casella degli strumenti e viene visualizzato nella finestra di dialogo. Riposizionare il controllo nella posizione preferita.

Per aggiungere più controlli

  1. Tenendo premuto CTRL, selezionare un controllo nella finestra Casella degli strumenti.

  2. Rilasciare il tasto CTRL e selezionare la finestra di dialogo quante volte si desidera aggiungere il controllo specifico.

  3. Premere ESC per interrompere il posizionamento dei controlli.

Per ridimensionare un controllo durante l'aggiunta

  1. Selezionare un controllo nella finestra Casella degli strumenti .

  2. Posizionare il cursore visualizzato come peli incrociati, in cui si desidera che l'angolo superiore sinistro del nuovo controllo si trovi nella finestra di dialogo.

  3. Selezionare e tenere premuto il pulsante del mouse per ancorare l'angolo superiore sinistro del controllo nella finestra di dialogo. Trascinare quindi il cursore verso destra e giù fino a quando il controllo non corrisponde alle dimensioni desiderate.

    Nota

    È possibile ancorare uno dei quattro angoli del controllo che si sta disegnando. Questa procedura usa l'angolo superiore sinistro come esempio.

  4. Rilasciare il pulsante del mouse. Il controllo si stabilisce nella finestra di dialogo con le dimensioni specificate.

Suggerimento

È possibile ridimensionare il controllo dopo averlo lasciato cadere nella finestra di dialogo spostando i quadratini di ridimensionamento sul bordo del controllo. Per altre informazioni, vedere Ridimensionamento di singoli controlli.

Per aggiungere un controllo personalizzato

È possibile aggiungere controlli personalizzati alla finestra di dialogo. Selezionare l'icona Controllo personalizzato nella casella degli strumenti e trascinarla nella finestra di dialogo. Per aggiungere un Syslink controllo, aggiungere un controllo personalizzato, quindi modificare la proprietà Class del controllo in Syslink. Questa azione causerà l'aggiornamento delle proprietà e la visualizzazione delle proprietà del Syslink controllo. Per informazioni sulla classe wrapper MFC, vedere CLinkCtrl.

Modifica controlli

Per modificare le proprietà di un controllo o di un controllo

  1. Nella finestra di dialogo selezionare il controllo da modificare.

    Nota

    Se si selezionano più controlli, è possibile modificare solo le proprietà comuni ai controlli selezionati.

  2. Nella Finestra Proprietà modificare le proprietà del controllo.

    Nota

    Quando si imposta la proprietà Bitmap per un pulsante, un pulsante di opzione o un controllo casella di controllo uguale a True, lo stile BS_BITMAP viene implementato per il controllo. Per altre informazioni, vedere Stili pulsante. Per un esempio di associazione di una bitmap a un controllo, vedere CButton::SetBitmap. Le bitmap non verranno visualizzate nel controllo mentre ci si trova nell'Editor finestre di dialogo.

Per annullare le modifiche alle proprietà di un controllo

  1. Assicurarsi che il controllo abbia lo stato attivo nell'Editor finestre di dialogo.

  2. Vai al menu Modifica>annulla. Se lo stato attivo non è sul controllo, il comando Annulla non sarà disponibile.

Per definire una variabile membro per il controllo di una finestra di dialogo (non pulsante)

Nota

Questo processo si applica solo ai controlli finestra di dialogo all'interno di un progetto MFC. I progetti ATL devono usare la finestra di dialogo Nuovi messaggi di Windows e gestori eventi . Per altre informazioni, vedere Tipi di messaggi associati agli oggetti dell'interfaccia utente, Modifica di un gestore messaggi e Definizione di un gestore messaggi per un messaggio riflesso.

  1. Nell'editor della finestra di dialogo selezionare un controllo .

  2. Quando si preme CTRL, fare doppio clic sul controllo della finestra di dialogo.

    Verrà visualizzata la procedura guidata Aggiungi variabile membro.

  3. Digitare le informazioni appropriate nella procedura guidata Aggiungi variabile membro. Per altre informazioni, vedere Dialog Data Exchange.

  4. Selezionare OK per tornare all'editor della finestra di dialogo.

Suggerimento

Per passare da un controllo della finestra di dialogo al gestore esistente, fare doppio clic sul controllo.

È anche possibile usare la scheda Variabili membro nella Creazione guidata classe MFC per aggiungere nuove variabili membro per una classe specificata e visualizzare variabili membro già definite.

Elimina controlli

Nella finestra di dialogo selezionare il controllo, quindi premere CANCoppure passare al menu Modifica>elimina.

Altri problemi

Risoluzione dei problemi

Dopo aver aggiunto un controllo comune o un controllo rich edit a una finestra di dialogo, non verrà visualizzato quando si testa la finestra di dialogo. In alternativa, la finestra di dialogo stessa non verrà visualizzata. Ad esempio:

  1. Creare un progetto Win32, modificando le impostazioni dell'applicazione in modo da creare un'applicazione Windows (non un'app console).

  2. In Visualizzazione risorse fare doppio clic sul file RC .

  3. Nell'opzione della finestra di dialogo fare doppio clic sulla casella Informazioni.

  4. Aggiungere un controllo indirizzo IP alla finestra di dialogo.

  5. Salva e ricompila tutto.

  6. Eseguire il programma.

  7. Nel menu ? della finestra di dialogo selezionare il comando Informazioni e osservare che non viene visualizzata alcuna finestra di dialogo.

Attualmente, l'Editor finestre di dialogo non aggiunge automaticamente il codice al progetto quando si trascinano i controlli comuni o i controlli rich edit seguenti in una finestra di dialogo. Né Visual Studio fornisce un errore o un avviso quando si verifica questo problema. Per risolvere il problema, aggiungere manualmente il codice per il controllo.

Controllo animazione
Controllo personalizzato
Selezione data/ora
Casella combinata estesa

Tasto di scelta rapida
Controllo indirizzo IP
Controllo elenco
Month Calendar

Controllo stato
Controllo Rich Edit 2.0
Controllo Rich Edit
Controllo Dispositivo di scorrimento

Controllo spin
Controllo Struttura a schede
Controllo albero

Per usare controlli comuni in una finestra di dialogo, è necessario chiamare InitCommonControlsEx o AFXInitCommonControls prima di creare la finestra di dialogo.

Per usare i controlli RichEdit, è necessario chiamare LoadLibrary. Per altre informazioni, vedere Informazioni sui controlli Di modifica avanzata in Windows SDK e Panoramica del controllo Rich Edit.

Nota

Per usare un controllo RichEdit con MFC, è prima necessario chiamare AfxInitRichEdit2 per caricare il controllo RichEdit 2.0 (RICHED20.DLL) o chiamare AfxInitRichEdit per caricare il controllo RichEdit 1.0 precedente (RICHED32.DLL).

È possibile usare la classe CRichEditCtrl corrente con il controllo RichEdit 1.0 precedente, ma CRichEditCtrl è progettato solo per supportare il controllo RichEdit 2.0. Poiché RichEdit 1.0 e RichEdit 2.0 sono simili, la maggior parte dei metodi funzionerà. Esistono tuttavia alcune differenze tra i controlli 1.0 e 2.0, quindi alcuni metodi potrebbero funzionare in modo non corretto o non funzionano affatto.

Inserire controlli ActiveX

Visual Studio consente di inserire controlli ActiveX nella finestra di dialogo. Per altre informazioni, vedere Controlli ActiveX MFC e contenitori di controlli ActiveX.

La finestra di dialogo Inserisci controllo ActiveX consente di inserire controlli ActiveX nella finestra di dialogo durante l'utilizzo dell'editor di dialoghi. Questa finestra di dialogo contiene le proprietà seguenti:

Proprietà Descrizione
Controllo ActiveX Visualizza un elenco di controlli ActiveX.

L'inserimento di un controllo da questa finestra di dialogo non genera una classe wrapper. Se è necessaria una classe wrapper, usare Visualizzazione classi per crearne una, vedere Aggiunta di una classe.

Se in questa finestra di dialogo non viene visualizzato un controllo ActiveX, provare a installare il controllo in base alle istruzioni del fornitore.
Percorso Visualizza il file in cui viene trovato il controllo ActiveX.

Attenzione

Potrebbe non essere legalmente consentito distribuire tutti i controlli ActiveX nel sistema. Fare riferimento al contratto di licenza per il software che ha installato i controlli o contattare l'azienda software.

Per aggiungere un controllo ActiveX

  1. Aprire una finestra di dialogo nell'Editor finestre di dialogo.

  2. Fare clic con il pulsante destro del mouse in un punto qualsiasi del corpo della finestra di dialogo e scegliere Inserisci controllo ActiveX.

    Nella finestra di dialogo Inserisci controllo ActiveX che viene visualizzata sono presenti tutti i controlli ActiveX nel sistema. Nella parte inferiore della finestra di dialogo è indicato il percorso del file del controllo ActiveX.

  3. Selezionare il controllo da aggiungere alla finestra di dialogo e scegliere OK.

    Il controllo viene visualizzato nella finestra di dialogo, in cui è possibile modificarlo o creare i relativi gestori, come per qualsiasi altro controllo.

Suggerimento

È possibile usare il menu di scelta rapida nell'Editor finestre di dialogo per aggiungere rapidamente controlli ActiveX registrati a una finestra di dialogo oppure provare ad aggiungere controlli ActiveX alla finestra della casella degli strumenti per semplificare l'accesso.

Per modificare le proprietà per un controllo ActiveX

I controlli ActiveX forniti da fornitori indipendenti possono essere dotati di proprie proprietà e caratteristiche. Queste proprietà vengono visualizzate nella finestra Proprietà . Tutte le pagine delle proprietà create dai writer del controllo ActiveX vengono visualizzate nella finestra di dialogo Pagine delle proprietà. (Per visualizzare Pagina delle proprietà per un controllo ActiveX specifico, selezionare il pulsante Pagina delle proprietà nella Finestra Proprietà).

  • Selezionare il controllo ActiveX e passare al menu Visualizza>pagina delle proprietà per visualizzare le proprietà. Apportare modifiche in base alle esigenze nella pagina delle proprietà.

    Nella pagina delle proprietà di un controllo ActiveX vengono visualizzate varie schede, a seconda delle finestre delle proprietà incluse nel controllo ActiveX.

Nota

Questa procedura si applica all'uso della pagina delle proprietà per modificare i controlli ActiveX. È anche possibile esplorare e modificare le proprietà ActiveX nella nuova finestra Proprietà .

Requisiti

Win32

Vedi anche

Gestisci controlli finestra di dialogo
Procedura: Layout dei controlli
Procedura: Definire l'accesso e i valori di controllo