hab schon verstanden!

Gewoehnt euch das mal ab. Ihr macht den anderen damit keineThomas hat geschrieben:Dieses Ding klappt bei mir irgendwie nicht!C4rizz hat geschrieben:http://www.purebasic.fr/german/viewtopi ... 502#155502
DA genau das was du suchst
Code: Alles auswählen
#SCI_DLL = 0
#WINDOW = 0
#SCI_GADGET = 0
Procedure InitSCI()
If Not OpenLibrary(#SCI_DLL,"scintilla.dll")
MessageRequester("Fehler","scintilla.dll wurde nicht gefunden")
End
EndIf
EndProcedure
Procedure CreateSCIWindow(id,x,y,cx,cy,hwnd_parent)
ProcedureReturn CreateWindowEx_(#WS_EX_STATICEDGE,"scintilla",#Null,#WS_VISIBLE|#WS_CHILD,x,y,cx,cy,hwnd_parent,id,0,0)
EndProcedure
Procedure Main()
hwnd = OpenWindow(#WINDOW,#PB_Ignore,#PB_Ignore,640,480,"Scintilla Test")
If hwnd
hsci = CreateSCIWindow(id, 5,5,630,470,hwnd)
Repeat
event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
DestroyWindow_(hsci)
EndIf
EndProcedure
InitSCI()
Main()
Code: Alles auswählen
#SCI_DLL = 0
#WINDOW = 0
#SCI_GADGET = 0
Procedure InitSCI()
; "SCILEXER.DLL" LADEN
; "SCINTILlA.DLL" KANN AUCH GELADEN WERDEN,
; SOFERN VORHANDEN,ENTHAELT ABER KEINE LEXER
If Not OpenLibrary(#SCI_DLL,"scilexer.dll")
MessageRequester("Fehler","scilexer.dll wurde nicht gefunden")
End
EndIf
EndProcedure
Procedure CreateSCIWindow(id,x,y,cx,cy,hwnd_parent)
; WINAPI SIEHE MSDN!
ProcedureReturn CreateWindowEx_(#WS_EX_STATICEDGE,"scintilla",#Null,#WS_VISIBLE|#WS_CHILD,x,y,cx,cy,hwnd_parent,id,0,0)
EndProcedure
Procedure Main()
hwnd = OpenWindow(#WINDOW,#PB_Ignore,#PB_Ignore,640,480,"Scintilla Test")
If hwnd
hsci = CreateSCIWindow(id, 5,5,630,470,hwnd)
; LEXER LADEN
SendMessage_(hsci,#SCI_SETLEXER,#SCLEX_VB,0)
; STYLEBITS SETZEN (intern)
SendMessage_(hsci,#SCI_SETSTYLEBITS,5,0)
; VORDERGRUNDFARBE SETZEN
SendMessage_(hsci,#SCI_STYLESETFORE,#STYLE_DEFAULT,$0)
; HINTERGRUNDFARBE SETZEN
SendMessage_(hsci,#SCI_STYLESETBACK,#STYLE_DEFAULT,$FFFFFF)
; FONT SETZEN
SendMessage_(hsci,#SCI_STYLESETFONT,#STYLE_DEFAULT,"courier new")
; FONT GROESSE SETZEN
SendMessage_(hsci,#SCI_STYLESETSIZE,#STYLE_DEFAULT,10)
; ALLE STYLES MIT DEN SELBEN WERTEN WIE #STYLE_DEFAULT ANPASSEN
SendMessage_(hsci,#SCI_STYLECLEARALL,0,0)
; SETZEN DER SCHLUESSELWOERTER
SendMessage_(hsci,#SCI_SETKEYWORDS, 0,"function end dim as")
; SETZEN DER VORDERGRUNDFARBE
SendMessage_(hsci,#SCI_STYLESETFORE,#SCE_B_KEYWORD,$FD0502)
; KOMMENTAR VORDERGRUND SETZEN
SendMessage_(hsci,#SCI_STYLESETFORE,#SCE_B_COMMENT,$4038BF)
text.s = "Function test()" + #LF$
text.s + " ' blub" + #LF$
text.s + " Dim blub as Integer " + #LF$
text.s + "End Function " + #LF$
; TEXT EINFUEGEN
SendMessage_(hsci,#SCI_SETTEXT,0,text)
Repeat
event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
;SCINTILLA FENSTER SCHLIESSEN
DestroyWindow_(hsci)
EndIf
EndProcedure
InitSCI()
Main()