scatola di gruppo con titolo come Casella

voti
4

Sto usando Visual Studio 6.0 (VC ++ con MFC) in piattaforma Windows XP. Sto cercando di creare una casella di gruppo con il titolo della casella di gruppo come una casella di controllo. La mia intenzione è questa: se la casella di controllo è attivata, i controlli all'interno della casella di gruppo dovrebbero essere abilitati; oppure disabilitato.

Questo è possibile da realizzare? Se sì, per favore mi dia alcune direzioni.

Grazie.

È pubblicato 26/06/2009 alle 09:19
fonte dall'utente
In altre lingue...                            


3 risposte

voti
5

Ci sono alcune cose che potete provare, a seconda di quanto sia vero si vuole rimanere alla tua idea e quanto lavoro siete disposti a mettere nello sforzo:

metodo semplice

Utilizzare una casella di gruppo normale, e poi dentro questo rende il primo elemento sia la casella di controllo. Questo è semplice da realizzare, ma si perde l'obiettivo di avere la casella di controllo come il titolo.

metodo di disegno Funky 1

Utilizzare una casella di gruppo normale, poi nello spazio sopra in cui si conosce il titolo è quello di andare, inserire il vostro casella di controllo. Si dovrà eseguire alcuni calcoli difficile da ottenere per adattarsi bene e disegnare bene senza sfarfallio.

metodo di disegno Funky 2

Utilizzare una qualche forma di superclasse o sottoclasse / sottoclasse sulla casella di gruppo. È possibile ignorare il gestore WM_PAINT per disegnare solo la cornice per la casella di gruppo. Posizionare una casella di controllo normale nel luogo in cui si conosce il titolo è quello di andare. Questo dovrebbe funzionare meglio perché si avrà più controllo sul disegno, ma è probabile che sia difficile da ottenere. Nella mia esperienza, è sottoclassi minor rischio da implementare rispetto superclassing.

Risposto il 26/06/2009 a 09:38
fonte dall'utente

voti
2

Si sta utilizzando l'editor di dialogo? Se è così, mettere giù la casella di gruppo. Avanti, su di esso, mettere una casella di controllo sopra la linea della casella di gruppo. Modificare la risorsa per impostare l'ordine Z, o di farlo in codice. Si desidera la casella di controllo per essere al top della casella di gruppo. Aggiungere un gestore per la casella di controllo e attivare / disattivare i comandi a seconda dello stato casella di controllo.

Risposto il 27/06/2009 a 01:52
fonte dall'utente

voti
0

Ho scritto uno chiamato CGroupCheck qualche anno fa ed è disponibile da CodeProject: http://www.codeproject.com/KB/buttons/groupcheck123.aspx

Risposto il 17/03/2010 a 21:50
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more