Ausgewählten Text in RTF Box dem Combobox inhalt anpassen?

dranonym

Grünschnabel
Hallo leute!

Also ich habe eine RichTextBox, 2 Comboboxen (eine Für die schriftart und eine für die Schriftgröße). Ich will, dass wenn man mit verschiedenen schriftarten geschrieben hat, und mann dann auf sie klickt, sich die Comboboxen anpassen.
Also wenn zB. ein Wort mit Arial, 12 geschrieben hat, das andere mit Tahoma, 18 und mann dann jeweils das andere auswählt, sich die Comboboxen anpassen.

Ich hoffe ihr versteht es :)

ich habs damit versucht:

Code:
Dim size As Integer
size = rtfText.SelFontSize
frmMain.Combo2.ListIndex = size

Aber wenn ich dann einen Buchstaben eingeben taucht eine Fehlermeldung auf: "Ungültiger Eigenschaftswert!"

Könnt ihr mir da helfen Hab schon gegooglet und nix gefunden

DANKE IM VORRAUS :D
 
Bei Combo-Boxen kannst Du nur durcheiern, dass kann dann aber, je nach dem wieviel Einträge sie haben, ganz schön lange dauern. Zum Beispiel:

Code:
 Dim i as Integer

 i=0
 Do while i < Combo1.ListCount
      Combo1.ListIndex = i
      If Val(Combo1.Text) = rtfText.SelFontSize Then
            Exit Do
      End if
 Loop

So, wie Du es gemacht hast (also die Size direkt als IistIndex zu verwenden) würde es nur gehen, wenn ListIndex = Fontgröße ist, was in der Regel aber nicht der Fall ist.

Genauso geht es dann bei dem Zeichensatz, da muss Du dann den Combo.Text mit SelFontName vergleichen.

Grüsse
ronaldh
 
Danke, aber an sich funktioniert es, aber da gibt es ein problem. Durch den Code kann ich ja dann nicht mehr die Schriftgröße und Art durch die Combobox ändern. Ich hab das nähmlich z.B. bei der Schriftgröße so gelöst:

Code:
ActiveForm.rtfText.SelFontSize = Combo2.List(Combo2.ListIndex)

Gibts da vielleicht eine andere möglichkeit?:confused:

Danke im vorraus :)
 
Der Listindex ist das Element, welches gerade gewählt ist. Ich würde es so machen:

Code:
     If Combo2.ListIndex >= 0 Then
         ActiveForm.rtfText.SelFontSize = Val(Combo2.Text)
     End If

Ronald
 
Zurück