Scintilla #SCI_SETMODEVENTMASK
Posted: Sun May 12, 2024 9:55 am
I assumed that calling SCI SET MOD EVENT MASK with parameters other than the default SC_MODEVENTMASKALL 0x1FFFFF would reduce the number of messages that I am not interested in. But the result does not change, even if you specify 0 (no events are interesting)
Code: Select all
EnableExplicit
Declare SE(G.i,*SCN.SCNotification)
Declare WS()
#MW = 0
#MWT = "SciEdit 0.0.1"
#MWF = #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget
#GSC = 0
Global MWL.i = 100
Global MWT.i = 100
Global MWW.i = 800
Global MWH.i = 600
OpenWindow(#MW, MWL, MWT, MWW, MWH, #MWT, #MWF)
ScintillaGadget(#GSC, 0, 0, 0, 0, @SE())
BindEvent(#PB_Event_SizeWindow, @WS()) : WS()
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Debug Hex(ScintillaSendMessage(#GSC,#SCI_GETMODEVENTMASK))
ScintillaSendMessage(#GSC,#SCI_SETMODEVENTMASK, #SC_MOD_INSERTTEXT|#SC_MOD_DELETETEXT)
Debug Hex(ScintillaSendMessage(#GSC,#SCI_GETMODEVENTMASK))
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Procedure WS()
ResizeGadget(#GSC, 0, 0, WindowWidth(#MW), WindowHeight(#MW))
EndProcedure
Procedure SE(G.i,*SCN.SCNotification)
Select *SCN\nmhdr\code
Case #SCN_STYLENEEDED
Debug "STYLENEEDED"
Case #SCN_CHARADDED
Debug "CHARADDED"
Case #SCN_SAVEPOINTREACHED
Debug "SAVEPOINTREACHED"
Case #SCN_SAVEPOINTLEFT
Debug "SAVEPOINTLEFT"
Case #SCN_MODIFYATTEMPTRO
Debug "MODIFYATTEMPTRO"
Case #SCN_KEY
Debug "KEY"
Case #SCN_DOUBLECLICK
Debug "DOUBLECLICK"
Case #SCN_UPDATEUI
Debug "UPDATEUI"
Case #SCN_MODIFIED
Debug "MODIFIED"
Case #SCN_MACRORECORD
Debug "MACRORECORD"
Case #SCN_MARGINCLICK
Debug "MARGINCLICK"
Case #SCN_NEEDSHOWN
Debug "NEEDSHOWN"
Case #SCN_PAINTED
Debug "PAINTED"
Case #SCN_USERLISTSELECTION
Debug "USERLISTSELECTION"
Case #SCN_URIDROPPED
Debug "URIDROPPED"
Case #SCN_DWELLSTART
Debug "DWELLSTART"
Case #SCN_DWELLEND
Debug "DWELLEND"
Case #SCN_ZOOM
Debug "ZOOM"
Case #SCN_HOTSPOTCLICK
Debug "HOTSPOTCLICK"
Case #SCN_HOTSPOTDOUBLECLICK
Debug "HOTSPOTDOUBLECLICK"
Case #SCN_CALLTIPCLICK
Debug "CALLTIPCLICK"
Case #SCN_AUTOCSELECTION
Debug "AUTOCSELECTION"
Case #SCN_INDICATORCLICK
Debug "INDICATORCLICK"
Case #SCN_INDICATORRELEASE
Debug "INDICATORRELEASE"
Case #SCN_AUTOCCANCELLED
Debug "AUTOCCANCELLED"
Case #SCN_AUTOCCHARDELETED
Debug "AUTOCCHARDELETED"
Case #SCN_HOTSPOTRELEASECLICK
Debug "HOTSPOTRELEASECLICK"
Case #SCN_FOCUSIN
Debug "FOCUSIN"
Case #SCN_FOCUSOUT
Debug "FOCUSOUT"
Case #SCN_AUTOCCOMPLETED
Debug "AUTOCCOMPLETED"
Case #SCN_MARGINRIGHTCLICK
Debug "MARGINRIGHTCLICK"
Case #SCN_AUTOCSELECTIONCHANGE
Debug "AUTOCSELECTIONCHANGE"
Default
Debug -111
EndSelect
EndProcedure