Richedit-eigenschaften
-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Richedit-eigenschaften
Ich benutze z.Z. PB 5.24 LTS und ich weiss nicht, warum ihr alle denkt, ich würde nur 3 Farben gebrauchen ^^
Der einzelne Spieler kann sich seine eigenen Farben einstellen und der Server schickt auch noch Texte in verschiedene Farben.
Ich hab sie zwar nicht gezählt, aber mit 31 verschiedenen Farben wird es auf jeden Fall eng.
Ich werde es dennoch mal probieren, ändern kann man das ja eh wieder.
Wordwrap vereinfacht schon vieles.
Jetzt muss ich nur noch irgendwie verhindern, dass der Benutzer in das ScintillaGadget etwas reinschreibt, denn dann würde das ganze nicht mehr funktionieren, glaube ich.
Hat da jemand Tips?
Der einzelne Spieler kann sich seine eigenen Farben einstellen und der Server schickt auch noch Texte in verschiedene Farben.
Ich hab sie zwar nicht gezählt, aber mit 31 verschiedenen Farben wird es auf jeden Fall eng.
Ich werde es dennoch mal probieren, ändern kann man das ja eh wieder.
Wordwrap vereinfacht schon vieles.
Jetzt muss ich nur noch irgendwie verhindern, dass der Benutzer in das ScintillaGadget etwas reinschreibt, denn dann würde das ganze nicht mehr funktionieren, glaube ich.
Hat da jemand Tips?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: Richedit-eigenschaften
ScintillaSendMessage(gadget, #SCI_SETREADONLY, #True) sollte helfen, dann kann man nichts eingeben.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Richedit-eigenschaften
Jepp, danke.
Wie scrolle ich eigentl. automatisch nach ganz unten?
edit:
Habs gefunden:
Wie scrolle ich eigentl. automatisch nach ganz unten?
edit:
Habs gefunden:
Code: Alles auswählen
ScintillaSendMessage(gadgetNr,#SCI_SCROLLTOEND)
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Richedit-eigenschaften
Ich finde allerdings keinen Befehl, um die Hintergrundfarbe des Gadgets zu ändern.
SetGadgetColor(GadgedID, #PB_Gadget_BackColor, aColor) funktioniert nicht.
Edit:
ScintillaSendMessage(1, #SCI_STYLESETBACK,#STYLE_DEFAULT , aColor)
und dann wirklich jeden Style noch einmal machen:
ScintillaSendMessage(1, #SCI_STYLESETBACK,StyleNr , aColor)
Es ist schon sehr anstrengend, um nicht zu sagen nervig, jeden einzelnen Befehl mühselig im Web zu suchen und dann wild zu probieren, bis es klappt.
Da wäre ein bessere Hilfe in PB wünschenswert.
SetGadgetColor(GadgedID, #PB_Gadget_BackColor, aColor) funktioniert nicht.
Edit:
ScintillaSendMessage(1, #SCI_STYLESETBACK,#STYLE_DEFAULT , aColor)
und dann wirklich jeden Style noch einmal machen:
ScintillaSendMessage(1, #SCI_STYLESETBACK,StyleNr , aColor)
Es ist schon sehr anstrengend, um nicht zu sagen nervig, jeden einzelnen Befehl mühselig im Web zu suchen und dann wild zu probieren, bis es klappt.
Da wäre ein bessere Hilfe in PB wünschenswert.
Zuletzt geändert von stevie1401 am 08.11.2014 17:28, insgesamt 1-mal geändert.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: Richedit-eigenschaften
Das sollte #SCI_STYLESETBACK sein, um die Hintergrundfarbe zu setzen.
Re: Richedit-eigenschaften
Was ist daran anstrengend? Es steht alles in der jeweiligen Dokumentation da. Man muss nur lesen und anwenden. Es mag vielleicht am Anfang für dich umständlich sein, weil du sowas noch nicht kennst, aber wenn du es verstanden hast, wo sich die Informationsquellen befinden und wo du suchen musst, dann ist es alles klar und leicht umsetzbar.stevie1401 hat geschrieben:Es ist schon sehr anstrengend, um nicht zu sagen nervig, jeden einzelnen Befehl mühselig im Web zu suchen und dann wild zu probieren, bis es klappt.
Das ist aber nicht die Aufgabe vom PB-Team. Scintilla ist eine von Neil Hodgson entwickelte Komponente und es hat nichts mit PB zu tun. PB bietet es nur an. Genauso wie die WinAPI-Schnittstelle von Microsoft. Die Beschreibungen zu den einzelnen Funktionen findest du natürlich nicht in der PB-Hilfe, sondern auf der Microsoft-Seite.stevie1401 hat geschrieben:Da wäre ein bessere Hilfe in PB wünschenswert.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Richedit-eigenschaften
Es würde ja nicht viel ändern, wenn das PB-TEAM Scintilla vollständig wrappen würde. Die Namen und
ein paar Kleinigkeiten, aber ansonsten ...
Scintilla hat nunmal eine komplexe API, die auch etwas ungewohnt daherkommt, aber viel einfacher wird
es nicht gehen. Das Haupteinsatz-Gebiet ist nunmal: SyntaxHiglightning, Autovervollständigen, Marker und
Nummern usw..
Man kann also z.B. eine komplette IDE erstellen, bestes Beispiel die PB-IDE oder etwas kleiner:
http://www.realsource.de/downloads/doc_ ... -x-profpad
Du brauchst das meiste nicht und das wenige, was Du brauchst, daraus zu picken ist nicht so einfach, aber
wenn das erstmal erledigt ist ...
Es würde ja auch mit RichEdit gehen, aber dann wären gleich 3 sehr unterschiedliche API beteiligt und das
wäre dann eventuell noch komplizierter.
Wie wäre es, erstmal auf die Farben verzichten und diese dann zum Schluß in Version 2 oder so einzubauen,
damit Du erstmal erfolge erzielst?
Gruß
Thomas
ein paar Kleinigkeiten, aber ansonsten ...
Scintilla hat nunmal eine komplexe API, die auch etwas ungewohnt daherkommt, aber viel einfacher wird
es nicht gehen. Das Haupteinsatz-Gebiet ist nunmal: SyntaxHiglightning, Autovervollständigen, Marker und
Nummern usw..
Man kann also z.B. eine komplette IDE erstellen, bestes Beispiel die PB-IDE oder etwas kleiner:
http://www.realsource.de/downloads/doc_ ... -x-profpad
Du brauchst das meiste nicht und das wenige, was Du brauchst, daraus zu picken ist nicht so einfach, aber
wenn das erstmal erledigt ist ...
Es würde ja auch mit RichEdit gehen, aber dann wären gleich 3 sehr unterschiedliche API beteiligt und das
wäre dann eventuell noch komplizierter.
Wie wäre es, erstmal auf die Farben verzichten und diese dann zum Schluß in Version 2 oder so einzubauen,
damit Du erstmal erfolge erzielst?
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Richedit-eigenschaften
Jetzt noch zur Syntax:
Die obere Message ist für ein RichEdit, die zweite für ein ScintillaGadget in API Form.
Man sieht gleich, ein paar der Konstanten für RichtEdit gelten auch für Scintilla.
Das ist die PureBasic form, wobei statt hWnd die ID übergeben wird und die letzten
parameter Optional sind.
Hier kommt die Message ohne parameter aus.
In der Scintilla Dokumentation geht man immer von der Message aus:
ist zur Ersetzen durch:
Also immer erst die id, dann die Message als Konstante und dann folgen
eventuelle parameter, wobei <unused> immer durch 0 zu ersetzen ist.
Bei den Parametern werden auch oft Strukturen genutzt, z.B.
was zu *tr.sci_textrange wird. Die Structure ist natürlich vorher zu definieren oder
wir nehmen einfach die für das EditorGadget gedachte, wenn gleich, TEXTRANGE
also:
Textrange kannste Dir jetzt im Strukturverzeichnis (Alt + S) ansehen.
Mit diesen Grundlagen, Lesen und Probieren, solltest Du langsam mit Scintilla warm werden
vorausgesetzt, Du hast noch Lust
Code: Alles auswählen
SendMessage_(hWnd, #EM_SETREADONLY, #True, 0)
SendMessage_(hWnd, #SCI_SETREADONLY, #True, 0)
Man sieht gleich, ein paar der Konstanten für RichtEdit gelten auch für Scintilla.
Code: Alles auswählen
ScintillaSendMessage(id, #SCI_SETREADONLY, #True)
parameter Optional sind.
Code: Alles auswählen
ScintillaSendMessage(id, #SCI_GETREADONLY)
In der Scintilla Dokumentation geht man immer von der Message aus:
Code: Alles auswählen
SCI_REPLACESEL(<unused>, const char *text)
Code: Alles auswählen
ScintillaSendMessage(id, #SCI_REPLACESEL, 0, *Buffer)
eventuelle parameter, wobei <unused> immer durch 0 zu ersetzen ist.
Bei den Parametern werden auch oft Strukturen genutzt, z.B.
Code: Alles auswählen
SCI_GETTEXTRANGE(<unused>, Sci_TextRange *tr)
wir nehmen einfach die für das EditorGadget gedachte, wenn gleich, TEXTRANGE
also:
Code: Alles auswählen
ScintillaSendMessage(id, #SCI_GETTEXTRANGE, 0, *tr.TEXTRANGE)
Mit diesen Grundlagen, Lesen und Probieren, solltest Du langsam mit Scintilla warm werden

vorausgesetzt, Du hast noch Lust
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 700
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Richedit-eigenschaften
Erst einmal vielen Dank für die viele Hilfe.
Ich wollte nicht meckern, sondern war nur etwas gestresst und wollte auch zum Ausdruck bringen, dass im Gegensatz zur PB-Hilfe,die ich geradezu genial finde, Scintilla doch recht schwer und gewöhnungsbedürftig ist.
Die puren PB-Befehle sind sehr schnell erlernbar, gerade weil die Hilfe so klasse ist.
Sollten 31 Farben ausreichen, was ich im Moment nicht weiss, werde ich es mit Scintilla versuchen, auch wenn es etwas wie mit Kanonen auf Spatzen schiessen ist.
Letztendlich will ich nur einen farbigen Chat, den ich durchaus auch anders bewerkstelligen kann.
Also nix für ungut und nochmals vielen Dank
Ich wollte nicht meckern, sondern war nur etwas gestresst und wollte auch zum Ausdruck bringen, dass im Gegensatz zur PB-Hilfe,die ich geradezu genial finde, Scintilla doch recht schwer und gewöhnungsbedürftig ist.
Die puren PB-Befehle sind sehr schnell erlernbar, gerade weil die Hilfe so klasse ist.
Sollten 31 Farben ausreichen, was ich im Moment nicht weiss, werde ich es mit Scintilla versuchen, auch wenn es etwas wie mit Kanonen auf Spatzen schiessen ist.
Letztendlich will ich nur einen farbigen Chat, den ich durchaus auch anders bewerkstelligen kann.
Also nix für ungut und nochmals vielen Dank

Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
- Vera
- Beiträge: 928
- Registriert: 18.03.2009 14:47
- Computerausstattung: Win XP SP2, Suse 11.1
- Wohnort: Essen
Re: Richedit-eigenschaften
Hallo stevie,
ich verfolge Deine ganzen Anfragen auch mit Interesse und habe auch einiges dazugelernt. (Zwei Meldungen hatte ich schon gecancled, da andere schneller waren.)
Aber vielleicht kann ich jetzt was beitragen.
Den von Danilo oben beschriebenen Effekt, dass bei 256 Style-Definitionen, ab dem 32ten die Zeilen ungewollt unterstrichen sind, habe ich auch.
In der Scintilla-doku steht aber auch, das die Plätze 32 - 39, sowie 255 vorbelegt sind. Die sollte man also ausschließen und könnte aber 40 - 254 frei belegen.
Dabei hab ich auch rausbekommen das No 32 den globalen Hintergrund bestimmt. Es reicht also aus, diesen nur einmal festzulegen.Die spezifischen Hintergründe, zB für Text oder Schlüsselwörter, bleiben davon unberührt.
Gruß ~ Vera
ich verfolge Deine ganzen Anfragen auch mit Interesse und habe auch einiges dazugelernt. (Zwei Meldungen hatte ich schon gecancled, da andere schneller waren.)
Aber vielleicht kann ich jetzt was beitragen.
Den von Danilo oben beschriebenen Effekt, dass bei 256 Style-Definitionen, ab dem 32ten die Zeilen ungewollt unterstrichen sind, habe ich auch.
In der Scintilla-doku steht aber auch, das die Plätze 32 - 39, sowie 255 vorbelegt sind. Die sollte man also ausschließen und könnte aber 40 - 254 frei belegen.
Dabei hab ich auch rausbekommen das No 32 den globalen Hintergrund bestimmt. Es reicht also aus, diesen nur einmal festzulegen.
Code: Alles auswählen
ScintillaSendMessage(ScNo, #SCI_STYLESETBACK,32, RGB(255,195,155))
Gruß ~ Vera
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\