Condividi:        

[VB6]Cambiare font a richtextbox

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Anthony47, Triumph Of Steel, archimede

[VB6]Cambiare font a richtextbox

Postdi miko » 17/11/12 23:50

un saluto a tutto il forum;
conosco poco vb6 e pertanto ho un problema da sottoporvi;
in una form ho inserito vari richtextbox ed in una toolbar una combobox per la scelta del font;
nell'evento click della combo ho inserito questo codice:
Codice: Seleziona tutto
Form1.RichTextBox1.SelFontName = ComboCarattere.List(ComboCarattere.ListIndex)

che permette di cambiare il font della richtextbox1.
se inserisco anche:
Codice: Seleziona tutto
Form1.RichTextBox2.SelFontName = ComboCarattere.List(ComboCarattere.ListIndex)

cambio contemporaneamente il font alla richtextbox2.
invece vorrei cambiare il font solo alla textbox che in quel momento è attiva, cioè avente il focus, e non ad altre.
come devo modificare il codice?
forse è meglio se i controlli fanno parte di un array?
grazie
saluti miko
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Sponsor
 

Re: [VB6]Cambiare font a richtextbox

Postdi maxmula » 17/04/13 13:38

Se vuoi cambiare il carattere nel momento in cui la textbox viene selezionata, puoi mettere l'istruzione nell'evento GotFocus.

Se invece la modifca dev'essere applicata solo quando selezioni il font dalla casella di controllo, puoi fare così:

- Attribuisci ad ogni textbox un codice (es. "a","b", "c", ecc.). Ad esempio potrebbe venre utile la proprietà .Tag che ogni controllo VB possiede. Quindi la RichTextBox1 avrà come tag = "A", la 2 Tag = "B", ecc.

- Definisci una variabile Public come string:

Codice: Seleziona tutto
Public Used as String


- Nell'evento GotFocus di ogni checkbox, imposti la variabile Used in base al codice che hai attribuito nella proprietà .Tag:

Codice: Seleziona tutto
Used = [NomeTextbox].Tag



Quando vai a selezionare il font, "esplori " tutte le caselle ed applichi la modifica solo a quella il cui tag corrisponde al valore di Used:

Codice: Seleziona tutto
    For Each ctrl in Me.Controls
        If ctrl.Tag = Used Then
            ctrl.SelFontName = ComboCarattere.List(ComboCarattere.ListIndex)
        End If
    Next


Per fare le cose bene, poi, potresti mettere anche

Codice: Seleziona tutto
    Used = ""


nell'evento LostFocus di ogni Richtextbox (così da non applicare comunque la modifica all'ultima box selezionata, anche se in quel momento nessuna lo è.


Ciao,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34


Torna a Programmazione


Topic correlati a "[VB6]Cambiare font a richtextbox":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti