
Edit: I have slightly oversized it and set X and Y negative - looks much better.
Code: Select all
Procedure Sci_SetBorder_(Gadget.i, State.i)
CompilerIf (#PB_Compiler_OS = #PB_OS_Windows)
If (State)
SetWindowLongPtr_(GadgetID(Gadget), #GWL_EXSTYLE, GetWindowLongPtr_(GadgetID(Gadget), #GWL_EXSTYLE) | #WS_EX_CLIENTEDGE)
Else
SetWindowLongPtr_(GadgetID(Gadget), #GWL_EXSTYLE, GetWindowLongPtr_(GadgetID(Gadget), #GWL_EXSTYLE) & ~#WS_EX_CLIENTEDGE)
EndIf
CompilerEndIf
EndProcedure
Code: Select all
SetWindowLongPtr_(GadgetID(#Scnt), #GWL_EXSTYLE, GetWindowLongPtr_(GadgetID(#Scnt), #GWL_EXSTYLE) | #WS_EX_CLIENTEDGE)
Code: Select all
SetWindowLongPtr_(GadgetID(#Scnt), #GWL_EXSTYLE, GetWindowLongPtr_(GadgetID(#Scnt), #GWL_EXSTYLE) & ~#WS_EX_CLIENTEDGE)
Code: Select all
If OpenWindow(0, 0, 0, 330, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If InitScintilla()
ContainerGadget(10,10,10,310, 70,#PB_Container_Flat)
ScintillaGadget(0, -2, -2, 310, 70, 0)
CloseGadgetList()
; Output set to red color
ScintillaSendMessage(0, #SCI_STYLESETFORE, 0, RGB(255, 0, 0))
; Set the initial text to the ScintillaGadget
*Text=UTF8("This is a simple ScintillaGadget with text...")
ScintillaSendMessage(0, #SCI_SETTEXT, 0, *Text)
FreeMemory(*Text) ; The buffer made by UTF8() has to be freed, to avoid memory leak
; Adding a second line of text with linebreak before
Text$ = Chr(10) + "Second line"
*Text=UTF8(Text$)
ScintillaSendMessage(0, #SCI_APPENDTEXT, Len(Text$), *Text)
FreeMemory(*Text)
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf