2011-05-27 3 views

risposta

10

Utilizzando i normali controlli VB6, sfortunatamente, non è possibile farlo. È possibile modificare il colore di tutto il il testo di una casella di testo/casella di riepilogo/etichetta utilizzando .ForeColor, ma non parti di esso, e questo è davvero non va bene per voi. Per fortuna, ci sono due soluzioni:

  1. Il primo è quello di continuare ad utilizzare la casella di riepilogo come si deve, ma aggiungere una didascalia con la lettura del testo rosso "- In attesa" accanto al testo che si desidera. Non è carino, ma puoi farlo funzionare.

  2. La soluzione migliore è acquisire familiarità con il controllo RichTextBox. Ciò funzionerà solo se si dispone delle versioni Professional o Enterprise di VB6. Supponendo che lo facciate, nel menu VB6, fate clic su Progetto -> Componenti, quindi nella nuova finestra visualizzata nella scheda Controlli, selezionate "Microsoft Rich TextBox Control 6.0" e quindi fate clic su OK. L'opzione RichTextBox dovrebbe apparire nella Toolbox, puoi aggiungerla al form come qualsiasi altro oggetto, e si comporterà come una combinazione listbox/textbox ... è molto utile. Se vuoi qualche documentazione su di esso, check out the MSDN.

    Sfortunatamente, RichTextBox fa schifo in termini di modifica del colore del testo. Può essere fatto, ma non con un semplice comando. Devi trovare il testo che desideri, selezionarlo e quindi impostare il colore. (Questo vale anche se si desidera cambiare il colore di tutto il testo - è necessario selezionare il tutto prima.) In ogni caso, il modo per farlo potrebbe essere:

    RichTextBox1.SelStart = RichTextBox1.Find(" - Pending")
    RichTextBox1.SelLength = 10
    RichTextBox1.SelColor = vbRed

Spero che tutto questo aiuti. Buona fortuna!

0

Ho solo bisogno di mostrare del testo in un'etichetta e quindi cambiare il colore di una o due lettere solo.

Ho creato un controllo etichetta XLabel(0) e impostato .Visible = False e .Autosize = True. Quindi sto praticamente leggendo una stringa alla volta da un array e caricando i nuovi controlli XLabel(), uno per ogni lettera nella stringa.

Poiché Autosize è attivo, tutte le etichette si trovano vicine l'una all'

In questo modo è possibile modificare una singola lettera nel modo desiderato.

Ricordare di scaricare tutti i comandi prima di procedere, se mai.