Auch hiernach habe ich lange gesucht und vermutlich nur mit den falschen Suchbegriffen. Ich möchte einen Teil eines Textes (langer String) in rot, bold und blinkend darstellen. Ich habe nichts dazu gefunden, obwohl es sicher einfach geht?
Text formatieren in Farbe und blinkend
-
HansJ54 -
7. Juni 2020 um 15:42 -
Erledigt
-
-
Jetzt bleibt nur noch die Frage wo das ganze stattfinden soll. In einem fremden Programm, in der Konsole, in einer GUI...
Bitte nimm dir beim Erstellen eines Threads doch ein paar Minuten mehr Zeit und schildere dein Problem etwas ausführlicher und gib uns gleich ein Beispiel mit, damit wir, und insbesondere du, keine Zeit an einem XY-Problem verschwenden.
-
Sorry, dachte es gibt eine allgemeine Lösung (für AutoIt) bzw. ein Link (den ich nicht gefunden habe), wo das erklärt ist.
$sText = "Start ..."
$sText &= "Text in rot, bold und blinkend"
$sText &= "...Rest"
GUICtrlSetData ($iMenuControlId, $sText)
Würde mich aber auch für den Text in einer MsgBox interessieren.
-
Ich möchte einen Teil eines Textes (langer String) in rot, bold und blinkend darstellen. Ich habe nichts dazu gefunden, obwohl es sicher einfach geht?
Ob das sooo einfach geht, bin ich mir nicht mal sicher !
Hier ein absoluter Schnellschuss bzgl. 'blinkendes Label", allerdings das komplette.
Um einen Teil des Labels blinken zu lassen, benötigt man wohl GDI+ .
AutoIt
Alles anzeigen#include <ColorConstants.au3> #include <GUIConstantsEx.au3> #include <FontConstants.au3> Global $idMsg, $hForm, $idLabel, $bColor1 = True $hForm = GUICreate("Blinking Label", 300, 60, -1, -1) $idLabel = GUICtrlCreateLabel("Text des blinkenden Labels", 5, 5, 290, 25) GUICtrlSetFont($idLabel, 12, $FW_BOLD) GUICtrlSetColor($idLabel, $COLOR_RED) GUISetState(@SW_SHOW) AdlibRegister("_BlinkingLabel") While True $idMsg = GUIGetMsg() Select Case $idMsg = $GUI_EVENT_CLOSE ExitLoop EndSelect WEnd AdlibUnRegister("_BlinkingLabel") Func _BlinkingLabel() If $bColor1 Then GUICtrlSetColor($idLabel, $COLOR_RED) $bColor1 = False Else GUICtrlSetColor($idLabel, $COLOR_BLUE) $bColor1 = True EndIf EndFunc
Würde mich aber auch für den Text in einer MsgBox interessieren.
In der Standard-Messagebox geht das nicht - dafür müsste man sich eine eigene GUI-MessageBox erstellen.
Gruß Musashi
-
In der Standard-Messagebox geht das nicht - dafür müsste man sich eine eigene GUI-MessageBox erstellen.
Och wie gerne würde ich einfach ein scheußliches Proof-Of-Concept basteln nur um dir zu zeigen, dass es doch möglich ist, aber ich weiß ja wie du das gemeint hast
Der TE wollte übrigens mMn. einen Teil des Strings blinken lassen, das ist mit dem Standardlabel nicht möglich, man müsste den String praktisch in ein eigenes Control packen und dieses dann färben, oder direkt ein anderes Control nehmen.
-
Och wie gerne würde ich einfach ein scheußliches Proof-Of-Concept basteln nur um dir zu zeigen, dass es doch möglich ist, aber ich weiß ja wie du das gemeint hast
Und dafür bin ich Dir auch dankbar .
Dass es diverse 'Tricksereien' gibt um ein Standardverhalten zu umgehen, habe ich auch schon des Öfteren gesehen. Ob der TE damit am Ende aber glücklich wird, wage ich (und Du wahrscheinlich auch) zu bezweifeln.
Der TE wollte übrigens mMn. einen Teil des Strings blinken lassen, das ist mit dem Standardlabel nicht möglich
Stimmt (hatte ich ja auch angesprochen).
HansJ54 :
Stellt sich die Frage, ob ein solcher (für meinen Geschmack eh nerviger) Effekt, den Aufwand wert ist ?
Gruß Musashi
-
Stellt sich die Frage, ob ein solcher (für meinen Geschmack eh nerviger) Effekt, den Aufwand wert ist ?
Hatte ich mir einfacher vorgestellt, so wie {\b...} - gibt es so etwas tatsächlich nicht?
Es geht mir darum, dass ich einen oder mehrere unerwünschte Zustände deutlich mache - wie rote Alarmlämpchen. Wenn beseitigt, soll die Schrift wieder schwarz und normal sein. Mein "Debug/Controlfenster" ist recht umfangreich und dadurch fällt einem nicht so gleich ins Auge, dass man z.B. einen generellen ShutDown gestartet hat.
Ansonsten, einfacher und besser: ich mache mir für diese Anzeige ein eigenes Control wie alpines geschrieben hat. Das Muster von Dir oben beinhaltet ja alles was ich brauche.
-
- Offizieller Beitrag
Ansonsten, einfacher und besser: ich mache mir für diese Anzeige ein eigenes Control wie alpines geschrieben hat. Das Muster von Dir oben beinhaltet ja alles was ich brauche.
Oder du nimmst ein RichEdit-Ctrl. Könnte für dein Vorhaben passen.
-
Meine Suche nach "RichEdit"-Control findet nichts. Aber das eigenständige Control in rot habe ich schon drin. Mache es jetzt einfach so, dass ich nur die kritischen Zustände in rot anzeige - wenn alles ok, muss ich das Fenster nicht mit diesen Anzeigen belasten. Dadurch fällt es dann auch eher auf.
Danke für Eure Hilfe!
-
Oder du nimmst ein RichEdit-Ctrl. Könnte für dein Vorhaben passen.
Ahhh... ne, da würde ich viel eher auf GDIPlus setzen... damit hast du quasi unendlich viele Möglichkeiten... aber ok, da muss man sich erst einmal feste durchbeißen, bis die ersten Erfolge kommen.
-
GDIPlus ... da muss man sich erst einmal feste durchbeißen, bis die ersten Erfolge kommen.
GDIPlus wird dann mein Hobby nach Fertigstellung des aktuellen Projekts
Habe im Moment genug zu kämpfen mit meinen anderen Problemen - ohne dieses Forum hätte ich schon lange das Handtuch geworfen.
-
ohne dieses Forum hätte ich schon lange das Handtuch geworfen.
Hört sich so an, als hättest du nur eines... immerhin eines mehr als ich...
Ne, Quatsch beiseite... ich habe hier auch sehr viel gelernt... aber auch im blauen Forum... und ohne Hilfe ist es immer viel schwerer, etwas Gescheites auf die Beine zu stellen, das wissen wir alle.
-
$sText = "Start ..."
$sText &= "Text in rot, bold und blinkend"
$sText &= "...Rest"
Mein "Debug/Controlfenster" ist recht umfangreich und dadurch fällt einem nicht so gleich ins Auge, dass man z.B. einen generellen ShutDown gestartet hat.
Also für mich hört sich der Tipp von BugFix dafür super geeignet an. Sieh dir mal die Console von SciTE an, das ist zwar kein RichEdit, aber damit du dir die farblichen Hervorhebungen vorstellen kannst.
Bernd.
Edit: Boah, so ein blöder Schreibfehler! Ich meinte KEIN RichEdit. Sorry!
-
Sieh dir mal die Console von SciTE an, das ist zwar ein RichEdit, aber damit du dir die farblichen Hervorhebungen vorstellen kannst.
Die Option blinkend ist mir bei einem RichEdit unbekannt. Ein _IE-Object das HTML und CSS formatierte Dateien anzeigt wäre für sein Vorhaben wohl notwendig.
-
Die Option blinkend ist mir bei einem RichEdit unbekannt.
autoBert Da hast du recht, die Option "blinkend" gibt es wohl nicht in einem RichEdit. Aber ich könnte das Blinken recht schnell einbauen, und du wahrscheinlich noch schneller, oder?
Jetzt bleibt nur noch die Frage wo das ganze stattfinden soll. In einem fremden Programm, in der Konsole, in einer GUI...
Bitte nimm dir beim Erstellen eines Threads doch ein paar Minuten mehr Zeit und schildere dein Problem etwas ausführlicher und gib uns gleich ein Beispiel mit, damit wir, und insbesondere du, keine Zeit an einem XY-Problem verschwenden.
Leider hat HansJ54 das nicht gemacht, deshalb können wir nur raten. Aber ich mag jetzt nicht mehr raten, HansJ54 scheint ja zufrieden zu sein.