Seite 2 von 3

Re: Hintergrundfarbe im EditorGadget

Verfasst: 26.01.2010 19:58
von bobobo
Was habt ihr da mit Scintilla ???? :angry:
das EditorGadget ist unter Windows ein RichtextControl
und kann durchaus das gewünscht darstellen.

http://www.purearea.net/pb/CodeArchiv/G ... +Styles.pb

das was da fehlt ist eine Funktion die Schreibmarkerposition in einer bereits mit Leerzeichen ausgefüllten Zeile
zu kontrollieren.

Re: Hintergrundfarbe im EditorGadget

Verfasst: 26.01.2010 22:06
von Fluid Byte
bobobo hat geschrieben:das EditorGadget ist unter Windows ein RichtextControl und kann durchaus das gewünscht darstellen.
Nein, kann es nicht. Erstens ist die Linie nicht durchgehend und zweitens kann es kaum Sinn und Zweck sein jede Zeile mit Leerzeichen auszufüllen. Nett gemeint bobobo aber Scintilla ist immer noch vorzuziehen.

Re: Hintergrundfarbe im EditorGadget

Verfasst: 26.01.2010 22:18
von Sunny
OK... der Link von ts-soft hat mir schonmal gut weiter geholfen, ist eine nette kleine Anleitung. Dankeschön.

Aber wie schaff ich es, dass einzelne Zeilen eine andere Hintergrundfarbe bekommen, muss ich da mit dem SendMessage-Befehl arbeiten? Hat da vieleicht mal jemand ein kleines Code-Beispiel?

Re: Hintergrundfarbe im EditorGadget

Verfasst: 26.01.2010 22:44
von ts-soft

Code: Alles auswählen

XIncludeFile "ScintillaHelper.pbi"

InitScintilla()
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "", #PB_Window_SystemMenu)
ScintillaGadget(0, 0, 0, 640, 480, 0)

SCI_SetGadgetText(0, "1.te Zeile" + #CRLF$ + "2.te Zeile" + #CRLF$ + "3.te Zeile")

ScintillaSendMessage(0, #SCI_SETCARETLINEBACK, #Red)
ScintillaSendMessage(0, #SCI_SETCARETLINEVISIBLE, #True)

SetActiveGadget(0)
SCI_AddGadgetItem(0, 1, "Ich bin rot") 

While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend

Re: Hintergrundfarbe im EditorGadget

Verfasst: 27.01.2010 19:58
von Sunny
OK. Das werd ich gleich mal ausprobieren, dankeschön.

Re: Hintergrundfarbe im EditorGadget

Verfasst: 06.02.2010 13:43
von Sunny
Ja, das is auf jeden Fall schonmal ein guter Anfang... aber hier wird nur der Hintergrund in der Zeile geändert, in der der Cursor ist. Aber ich möchte sowas in der Art wie ICQ zurecht friemeln, d.h. ich möchte z.b. von einem EditorGadget oder einem ScintillaGadget den Text in ein anderes ScintillaGadget senden und zur besseren Übersicht will ich, das sich bei jedem gesendeten Text die Hintergrundfarbe abwechselt.

Re: Hintergrundfarbe im EditorGadget

Verfasst: 06.02.2010 14:36
von HeX0R
Wenn es sowas wie ICQ werden soll, kannst du auch mal über das WebGadget nachdenken.

Re: Hintergrundfarbe im EditorGadget

Verfasst: 06.02.2010 14:38
von Kaeru Gaman
wäre dazu nicht auch ein ListGadget geeignet?
nur mal ganz blöde gefragt, ist überhaupt nicht mein Tisch sowas...

Re: Hintergrundfarbe im EditorGadget

Verfasst: 06.02.2010 14:52
von Sunny
Wenn es sowas wie ICQ werden soll, kannst du auch mal über das WebGadget nachdenken.
Ich wüsste jetzt nicht, wie mir das WebGadget weiterhelfen sollte.
wäre dazu nicht auch ein ListGadget geeignet?
Beim ListIconGadget ist soweit ich weiß, leider kein Zeilenumbruch möglich.

Es würde mir schon vollkommen ausreichen, wenn ich wüsste wie das mit den Hintergrundfarben in verschiedenen Zeilen funktioniert, mehr will ich (erstmal :) ) gar nich wissen.

Re: Hintergrundfarbe im EditorGadget

Verfasst: 06.02.2010 16:28
von HeX0R
Sunny hat geschrieben:Ich wüsste jetzt nicht, wie mir das WebGadget weiterhelfen sollte.
Naja, z.B. so:

Code: Alles auswählen

Procedure main()
	Protected HTML.s
	
	HTML = "<html><head><title></title>" + #CRLF$
	HTML + "<style type='text/css'>" + #CRLF$
	HTML + ".style_normal {font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #006600;background-color: #FAFAFA;}" + #CRLF$
	HTML + ".style_red {font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #000000;background-color: #ff8A8A;}" + #CRLF$
	HTML + ".style_green {font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #000000;background-color: #8AFF8A;}" + #CRLF$
	HTML + "</style>" + #CRLF$
	HTML + "</head>" + #CRLF$
	HTML + "<body>" + #CRLF$
	
	HTML + "<div class='style_normal'>This Line is normal...</div>" + #CRLF$
	HTML + "<div class='style_red'>This Line is Red...</div>" + #CRLF$
	HTML + "<div class='style_green'>This Line is Green...</div>" + #CRLF$
	HTML + "<div class='style_red'>This Line is Red...</div>" + #CRLF$
	HTML + "<div class='style_green'>This Line is Green...</div>" + #CRLF$
	
	HTML + "</body></html>"
	
	OpenWindow(0, 0, 0, 300, 300, "", #PB_Window_Tool | #PB_Window_SystemMenu)
	WebGadget(0, 5, 5, 290, 270, "")
	SetGadgetItemText(0, #PB_Web_HtmlCode, HTML)
	
	While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
	
EndProcedure

main()