#SCF_SELECTION

Anfängerfragen zum Programmieren mit PureBasic.
Stromberg
Beiträge: 20
Registriert: 04.06.2006 22:35
Kontaktdaten:

#SCF_SELECTION

Beitrag von Stromberg »

Hi,

ich möchte neue Einträge für ein Editorgadget gern formatieren. Also schicke ich eine Nachricht an das Gadget:

Code: Alles auswählen

Editor_FontColor(#EditorGadget,RGB(200,0,0),"Arial")
AddGadgetItem(#EditorGadget,-1,"Neuer Eintrag")

Code: Alles auswählen

Procedure Editor_FontColor(Gadget, Color.l,FontName.s) 
  format.CHARFORMAT 
  format\cbSize = SizeOf(CHARFORMAT) 
  format\dwMask = #CFM_COLOR
  format\crTextColor = Color 
  format\szFaceName = @FontName
SendMessage_(GadgetID(Gadget),#EM_SETCHARFORMAT,#SCF_SELECTION,@format) 
EndProcedure


Nun tritt folgendes Problem auf. Nicht nur der neue Eintrag erscheint in der gewünschten Farbe - wenn im Editorgadget etwas markiert ist, während ich den neuen Eintrag hinzufüge, so wird auch die Markierung umformatiert.

Wie kann ich das umgehen? Kann ich von vornherein verhindern, dass der Benutzer etwas im Fenster markieren kann? (Readonly ist für das Gadget aktiviert).


Danke!
Benutzeravatar
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

Beitrag von ts-soft »

Du solltest erst die Zeile hinzufügen, dann selektieren und dann den Stil
ändern.
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.
Bild
Stromberg
Beiträge: 20
Registriert: 04.06.2006 22:35
Kontaktdaten:

Beitrag von Stromberg »

Hmm, ja, aber dann habe ich das Problem, dass er eine Änderung der Formatierung erst im übernächsten Eintrag umsetzt.
Benutzeravatar
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

Beitrag von ts-soft »

Mit AddItemText hab ich sowas noch nie gemacht. Entweder RTF oder
EditorGAdget :mrgreen:
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.
Bild
Antworten