TehWhale Posted November 8, 2008 Share Posted November 8, 2008 (edited) Horizontal or vertical?You a tooltip under the function when you're typing? (CallTip)Vertical works fine, but it's horizontal that doesn't resize.Yeah CallTips that show the syntax of a function. Like it would show: WinSetState("title", "text", state).Thanks for your help Kip, these UDF's are very nice.Heres my code, and why does it go into a infinite loop when I try to open a file? Edited November 8, 2008 by TehWhale Link to comment Share on other sites More sharing options...
Zisly Posted November 19, 2008 Share Posted November 19, 2008 (edited) Hey Kip! Nice UDF!I have a question for you.How do I go about adding an embedded SciTE into a Tab control? It all runs fine but nothing shows up. And after messing with it I realized I had to supply it the handle to the window. Is there anything I can do to make this work inside the tab not below the tab? ThanksHow did you supply it? Edited November 19, 2008 by Zisly Link to comment Share on other sites More sharing options...
Zisly Posted November 19, 2008 Share Posted November 19, 2008 I will give the "code", I want it to be created in a tab. Any tips? $tab = GUICtrlCreateTabItem($Iname) $editF[$o] = $Iname $edit[$o] = Sci_CreateEditor($Form1,@DesktopWidth - 830, @DesktopHeight - 640, @DesktopWidth - 350, @DesktopHeight - 400) Link to comment Share on other sites More sharing options...
Kip Posted November 20, 2008 Author Share Posted November 20, 2008 Already answered... Create a small tab control, and check the notification messages to see if a tab is pressed. If so show the right scilexer control, and hide all the others. MailSpons: Fake SMTP server for safe email testing Dutch postcode & address API. Link to comment Share on other sites More sharing options...
ProgAndy Posted November 20, 2008 Share Posted November 20, 2008 (edited) If you want to use multiple SciLexer controls in the same size and position, you also can use the included document management functions _SendMessage($Sci, $SCI_CREATEDOCUMENT)_SendMessage($Sci, $SCI_GETDOCPOINTER, 0, 0)_SendMessage($Sci, $SCI_SETDOCPOINTER, 0,$DocPointer)_SendMessage($Sci, $SCI_RELEASEDOCUMENT, 0, $DocPointer)--> http://anubis.uji.es/doc/anjuta-1.1.97/ScintillaDoc.html Edited November 20, 2008 by ProgAndy *GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes Link to comment Share on other sites More sharing options...
ludocus Posted November 20, 2008 Share Posted November 20, 2008 (edited) I get a couple of errors.. expandcollapse popupC:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3(40,35) : ERROR: Sci_AddLines() called with wrong number of args. Sci_AddLines($Sci, $DefaultText,0) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Program Files\AutoIt3\Include\_SciLexer.au3(45,31) : REF: definition of Sci_AddLines(). Func Sci_AddLines($Text,$Line) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3(41,35) : ERROR: Sci_AddLines() called with wrong number of args. Sci_AddLines($Sci, $DefaultText,2) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Program Files\AutoIt3\Include\_SciLexer.au3(45,31) : REF: definition of Sci_AddLines(). Func Sci_AddLines($Text,$Line) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3(56,30) : ERROR: Sci_GetSelection() called with wrong number of args. $Sel = Sci_GetSelection($Sci) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Program Files\AutoIt3\Include\_SciLexer.au3(154,24) : REF: definition of Sci_GetSelection(). Func Sci_GetSelection() ~~~~~~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3(58,64) : ERROR: Sci_GetCurrentWord() called with wrong number of args. GUICtrlSetData($Word,"Current word: "& Sci_GetCurrentWord($Sci) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Program Files\AutoIt3\Include\_SciLexer.au3(161,26) : REF: definition of Sci_GetCurrentWord(). Func Sci_GetCurrentWord() ~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3(59,67) : ERROR: Sci_GetCurrentLine() called with wrong number of args. GUICtrlSetData($LineBla,"Current line: "& Sci_GetCurrentLine($Sci) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Program Files\AutoIt3\Include\_SciLexer.au3(143,26) : REF: definition of Sci_GetCurrentLine(). Func Sci_GetCurrentLine() ~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3(60,64) : ERROR: Sci_GetCurrentPos() called with wrong number of args. GUICtrlSetData($PosBla,"Current pos: "& Sci_GetCurrentPos($Sci) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Program Files\AutoIt3\Include\_SciLexer.au3(120,25) : REF: definition of Sci_GetCurrentPos(). Func Sci_GetCurrentPos() ~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3(61,52) : ERROR: Sci_GetZoom() called with wrong number of args. GUICtrlSetData($ZoomBla,"Zoom: "& Sci_GetZoom($Sci) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Program Files\AutoIt3\Include\_SciLexer.au3(115,19) : REF: definition of Sci_GetZoom(). Func Sci_GetZoom() ~~~~~~~~~~~~~~~~~~^ C:\Documents and Settings\Ludo\Bureaublad\Scilexer\Scilexer Example.au3 - 7 error(s), 0 warning(s) Edited November 20, 2008 by ludocus Link to comment Share on other sites More sharing options...
Zisly Posted November 21, 2008 Share Posted November 21, 2008 In the first download, how can I change the comment highlight from ';' to '--'? Link to comment Share on other sites More sharing options...
Kip Posted November 21, 2008 Author Share Posted November 21, 2008 You can't, you'll have to create an whole new lexer to do that. (You can only make your own lexer with the second file) MailSpons: Fake SMTP server for safe email testing Dutch postcode & address API. Link to comment Share on other sites More sharing options...
Zisly Posted November 21, 2008 Share Posted November 21, 2008 You can't, you'll have to create an whole new lexer to do that. (You can only make your own lexer with the second file)Ok.In the second example i saw that there were some red text in the sci control.But I can't find where you set it Could you post a litle example to ex; make all 'do' to blue? Link to comment Share on other sites More sharing options...
Zisly Posted November 22, 2008 Share Posted November 22, 2008 Never mind, figured it out Link to comment Share on other sites More sharing options...
Tolf Posted November 22, 2008 Share Posted November 22, 2008 How can I set the "wrap" property of SciTE in my control ? My UDF : Array2D Link to comment Share on other sites More sharing options...
Kip Posted November 23, 2008 Author Share Posted November 23, 2008 Added 30 new functions: (to the new version)Sci_CalltipShow($Sci, $iPos, $sText)Sci_CalltipActive($Sci)Sci_CalltipCancel($Sci)Sci_CalltipHighlight($Sci, $iStartPos, $iEndPos)Sci_CalltipPos($Sci)Sci_CallTipSetHltColor($Sci, $iColor)Sci_CallTipSetColor($Sci, $iColor)Sci_CallTipSetBkColor($Sci, $iColor)Sci_AutoCompleteActive($Sci)Sci_AutoCompleteCancel($Sci)Sci_AutoCompleteShow($Sci, $iLen, $sWords)Sci_LineWrapSetMode($Sci, $iMode)Sci_LineWrapSetIndent($Sci, $iMode)Sci_LineWrapSetIndentLocation($Sci, $iLocation)Sci_SetSavePoint($Sci)Sci_GetModify($Sci)Sci_SetAnchor($Sci, $iPos)Sci_SetCurrentPosEx($Sci, $iPos)Sci_ReplaceSel($Sci, $sText)Sci_SelectionSetBkColor($Sci, $iColor, $iUse=True)Sci_SelectionSetColor($Sci, $iColor, $iUse=True)Sci_SelectionSetAlpha($Sci, $iAlpha)Sci_SelectionGetAlpha($Sci)Sci_CaretSetColor($Sci, $iColor)Sci_CaretGetColor($Sci)Sci_CaretSetWidth($Sci, $iWidth)Sci_CaretGetWidth($Sci)Sci_FoldingShowLines($Sci, $iStart, $iEnd)Sci_FoldingHideLines($Sci, $iStart, $iEnd)Sci_FoldingToggleFold($Sci, $iLine)How can I set the "wrap" property of SciTE in my control ?Use Sci_LineWrapSetMode($Sci, $iMode) where:$iMode = 0 : don't wrap$iMode = 1 : wrap words$iMode = 2 : wrap characters MailSpons: Fake SMTP server for safe email testing Dutch postcode & address API. Link to comment Share on other sites More sharing options...
Tolf Posted November 26, 2008 Share Posted November 26, 2008 Func Sci_GetChar($Sci, $Pos) Return ChrW(SendMessage($Sci, $SCI_GETCHARAT, $Pos, 0)) EndFunc==> It doesn't work properly because the control returns a negative value for characters between 128 and 255. Try : Func Sci_GetChar($Sci, $Pos) Local $iChr = SendMessage($Sci, $SCI_GETCHARAT, $Pos, 0) If $iChr < 0 Then $iChr += 256 Return Chr($iChr) EndFunc My UDF : Array2D Link to comment Share on other sites More sharing options...
Jam00 Posted May 8, 2009 Share Posted May 8, 2009 (edited) In the new version lacks the Plugins.au3 me, can someone upload? THX Is really nice, I've always wanted Edited May 8, 2009 by Jam00 Link to comment Share on other sites More sharing options...
JRowe Posted May 9, 2009 Share Posted May 9, 2009 expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> #include <_SciLexer.au3> Global Const $DefaultText = "#Include <GUIConstants.au3>" &@CRLF&@CRLF& _ "$Gui1 = GUICreate(""Gui1"",600,500)"&@CRLF& _ @TAB& "$Button1 = GUICtrlCreateButton(""Button1"",150,300,120,23)" &@CRLF& _ "GUISetState(@SW_SHOW)" &@CRLF&@CRLF& _ "While 1" &@CRLF&@TAB&@CRLF& _ @TAB& "$Msg = GUIGetMsg(1)" &@CRLF&@TAB&@CRLF& _ @TAB& "Switch $Msg[0]" &@CRLF& _ @TAB&@TAB& "Case $GUI_EVENT_CLOSE" &@CRLF& _ @TAB&@TAB&@TAB& "Exit" &@CRLF&@TAB&@TAB&@TAB&@CRLF& _ @TAB& "EndSwitch" &@CRLF&@TAB&@CRLF& _ "WEnd" $Gui = GUICreate("SciTest",800,700) $Sci = Sci_CreateEditor($Gui,200,10,590,680) Sci_AddLines($Sci, $DefaultText,0) Sci_AddLines($Sci, $DefaultText,2) GUISetState(@SW_SHOW) While 1 $Msg = GUIGetMsg(1) Switch $Msg[0] Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Theres a basic lexer with some sample text, no formatting. Trying to figure out the rest (how to load a style, etc.) [center]However, like ninjas, cyber warriors operate in silence.AutoIt Chat Engine (+Chatbot) , Link Grammar for AutoIt , Simple Speech RecognitionArtificial Neural Networks UDF , Bayesian Networks UDF , Pattern Matching UDFTransparent PNG GUI Elements , Au3Irrlicht 2Advanced Mouse Events MonitorGrammar Database GeneratorTransitions & Tweening UDFPoker Hand Evaluator[/center] Link to comment Share on other sites More sharing options...
JRowe Posted May 9, 2009 Share Posted May 9, 2009 (edited) The answer to formatting lies in this snippet:expandcollapse popupFunc InitEditor($Sci) SendMessage($Sci, $SCI_SETLEXER, $SCLEX_AU3, 0) $bits = SendMessage($Sci, $SCI_GETSTYLEBITSNEEDED, 0, 0) SendMessage($Sci, $SCI_SETSTYLEBITS, $bits, 0) SendMessage($Sci, $SCI_SETTABWIDTH, 4, 0) SendMessage($Sci, $SCI_SETINDENTATIONGUIDES, True, 0) SendMessage($Sci, $SCI_SETZOOM, IniRead(@ScriptDir & "\config.ini", "Settings", "Zoom", -1), 0) SendMessageString($Sci, $SCI_SETKEYWORDS, 0, FileRead(@ScriptDir & "\Keywords.txt")) SendMessageString($Sci, $SCI_SETKEYWORDS, 1, FileRead(@ScriptDir & "\Functions.txt")) SendMessageString($Sci, $SCI_SETKEYWORDS, 2, FileRead(@ScriptDir & "\Macros.txt")) SendMessageString($Sci, $SCI_SETKEYWORDS, 3, FileRead(@ScriptDir & "\SendKeys.txt")) SendMessageString($Sci, $SCI_SETKEYWORDS, 4, FileRead(@ScriptDir & "\PreProcessor.txt")) SendMessageString($Sci, $SCI_SETKEYWORDS, 5, FileRead(@ScriptDir & "\Special.txt")) ;SendMessageString($Sci, $SCI_SETKEYWORDS, 6,"simple scilexer UDF by Kip") SendMessageString($Sci, $SCI_SETKEYWORDS, 7, FileRead(@ScriptDir & "\UDFs.txt")) SendMessage($Sci, $SCI_SETMARGINTYPEN, $MARGIN_SCRIPT_NUMBER, $SC_MARGIN_NUMBER) SendMessage($Sci, $SCI_SETMARGINWIDTHN, $MARGIN_SCRIPT_NUMBER, SendMessageString($Sci, $SCI_TEXTWIDTH, $STYLE_LINENUMBER, "_99999")) SendMessage($Sci, $SCI_SETMARGINWIDTHN, $MARGIN_SCRIPT_ICON, 16) SendMessage($Sci, $SCI_AUTOCSETSEPARATOR, Asc(@CR), 0) SendMessage($Sci, $SCI_AUTOCSETIGNORECASE, True, 0) SetStyle($Sci, $STYLE_DEFAULT, 0x000000, 0xFFFFFF, 10, "Courier New") SendMessage($Sci, $SCI_STYLECLEARALL, 0, 0) SetStyle($Sci, $STYLE_BRACEBAD, 0x009966, 0xFFFFFF, 0, "", 0, 1) SetStyle($Sci, $SCE_AU3_DEFAULT, 0x000000, 0xFFFFFF) SetStyle($Sci, $SCE_AU3_COMMENT, 0x339900, 0xFFFFFF) SetStyle($Sci, $SCE_AU3_COMMENTBLOCK, 0x009966, 0xFFFFFF) SetStyle($Sci, $SCE_AU3_NUMBER, 0xA900AC, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_FUNCTION, 0xAA0000, 0xFFFFFF, 0, "", 1, 1) SetStyle($Sci, $SCE_AU3_KEYWORD, 0xFF0000, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_MACRO, 0xFF33FF, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_STRING, 0xCC9999, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_OPERATOR, 0x0000FF, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_VARIABLE, 0x000090, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_SENT, 0x0080FF, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_PREPROCESSOR, 0xFF00F0, 0xFFFFFF, 0, "", 0, 0) SetStyle($Sci, $SCE_AU3_SPECIAL, 0xF00FA0, 0xFFFFFF, 0, "", 0, 1) SetStyle($Sci, $SCE_AU3_EXPAND, 0x0000FF, 0xFFFFFF, 0, "", 1) SetStyle($Sci, $SCE_AU3_COMOBJ, 0xFF0000, 0xFFFFFF, 0, "", 1, 1) SetStyle($Sci, $SCE_AU3_UDF, 0xFF8000, 0xFFFFFF, 0, "", 1, 1) SetProperty($Sci, "fold", "1") SetProperty($Sci, "fold.compact", "1") SetProperty($Sci, "fold.comment", "1") SetProperty($Sci, "fold.preprocessor", "1") SendMessage($Sci, $SCI_SETMARGINWIDTHN, $MARGIN_SCRIPT_FOLD, 0); fold margin width=0 SendMessage($Sci, $SCI_SETMARGINTYPEN, $MARGIN_SCRIPT_FOLD, $SC_MARGIN_SYMBOL) SendMessage($Sci, $SCI_SETMARGINMASKN, $MARGIN_SCRIPT_FOLD, $SC_MASK_FOLDERS) SendMessage($Sci, $SCI_SETMARGINWIDTHN, $MARGIN_SCRIPT_FOLD, 20) SendMessage($Sci, $SCI_MARKERDEFINE, $SC_MARKNUM_FOLDER, $SC_MARK_ARROW) SendMessage($Sci, $SCI_MARKERDEFINE, $SC_MARKNUM_FOLDEROPEN, $SC_MARK_ARROWDOWN) SendMessage($Sci, $SCI_MARKERDEFINE, $SC_MARKNUM_FOLDEREND, $SC_MARK_ARROW) SendMessage($Sci, $SCI_MARKERDEFINE, $SC_MARKNUM_FOLDERMIDTAIL, $SC_MARK_TCORNER) SendMessage($Sci, $SCI_MARKERDEFINE, $SC_MARKNUM_FOLDEROPENMID, $SC_MARK_ARROWDOWN) SendMessage($Sci, $SCI_MARKERDEFINE, $SC_MARKNUM_FOLDERSUB, $SC_MARK_VLINE) SendMessage($Sci, $SCI_MARKERDEFINE, $SC_MARKNUM_FOLDERTAIL, $SC_MARK_LCORNER) SendMessage($Sci, $SCI_SETFOLDFLAGS, 16, 0) SendMessage($Sci, $SCI_MARKERSETFORE, $SC_MARKNUM_FOLDER, 0xFFFFFF) SendMessage($Sci, $SCI_MARKERSETBACK, $SC_MARKNUM_FOLDERSUB, 0x808080) SendMessage($Sci, $SCI_MARKERSETBACK, $SC_MARKNUM_FOLDEREND, 0x808080) SendMessage($Sci, $SCI_MARKERSETFORE, $SC_MARKNUM_FOLDEREND, 0xFFFFFF) SendMessage($Sci, $SCI_MARKERSETBACK, $SC_MARKNUM_FOLDERTAIL, 0x808080) SendMessage($Sci, $SCI_MARKERSETBACK, $SC_MARKNUM_FOLDERMIDTAIL, 0x808080) SendMessage($Sci, $SCI_MARKERSETBACK, $SC_MARKNUM_FOLDER, 0x808080) SendMessage($Sci, $SCI_MARKERSETFORE, $SC_MARKNUM_FOLDEROPEN, 0xFFFFFF) SendMessage($Sci, $SCI_MARKERSETBACK, $SC_MARKNUM_FOLDEROPEN, 0x808080) SendMessage($Sci, $SCI_MARKERSETFORE, $SC_MARKNUM_FOLDEROPENMID, 0xFFFFFF) SendMessage($Sci, $SCI_MARKERSETBACK, $SC_MARKNUM_FOLDEROPENMID, 0x808080) SendMessage($Sci, $SCI_SETMARGINSENSITIVEN, $MARGIN_SCRIPT_FOLD, 1) SendMessage($Sci, $SCI_MARKERSETBACK, 0, 0x0000FF) GUIRegisterMsg(0x004E, "WM_NOTIFY") If @error Then Return 0 Else Return 1 EndIf EndFuncThis is the InitEditor function from the first version. It will need cleanup and a little work for creating your own lexer style, but I think everything is there. Edited September 9, 2015 by Melba23 Fixed formatting again Wonvy 1 [center]However, like ninjas, cyber warriors operate in silence.AutoIt Chat Engine (+Chatbot) , Link Grammar for AutoIt , Simple Speech RecognitionArtificial Neural Networks UDF , Bayesian Networks UDF , Pattern Matching UDFTransparent PNG GUI Elements , Au3Irrlicht 2Advanced Mouse Events MonitorGrammar Database GeneratorTransitions & Tweening UDFPoker Hand Evaluator[/center] Link to comment Share on other sites More sharing options...
insignia96 Posted May 9, 2009 Share Posted May 9, 2009 I have to Admit this is a pretty cool script. I have no use for it ATM, but i have a feeling it will come in handy. Also now i know wtf that is called when you highlight syntax and stuff! Visit my website to see all my finished releases!Releases here:UDFs:GUI ResizingColor List (Web Colors)GUIFade_NearestPower Link to comment Share on other sites More sharing options...
JRowe Posted May 9, 2009 Share Posted May 9, 2009 The indomitable horizontal scrollbar is pretty annoying Anyone know how to get rid of it? [center]However, like ninjas, cyber warriors operate in silence.AutoIt Chat Engine (+Chatbot) , Link Grammar for AutoIt , Simple Speech RecognitionArtificial Neural Networks UDF , Bayesian Networks UDF , Pattern Matching UDFTransparent PNG GUI Elements , Au3Irrlicht 2Advanced Mouse Events MonitorGrammar Database GeneratorTransitions & Tweening UDFPoker Hand Evaluator[/center] Link to comment Share on other sites More sharing options...
Kip Posted May 9, 2009 Author Share Posted May 9, 2009 An example on how to create your own lexer and how to use callbacks:For more info check: http://www.scintilla.org/ScintillaDoc.html#Notificationsexpandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> #include <WinApi.au3> #include <_SciLexer.au3> Global $Statements = StringSplit("while wend do until for in step next if then else endif func endfunc or and"," ") $Gui = GUICreate("SciTest",800,700) $Sci = Sci_CreateEditor($Gui,200,10,590,680) Sci_StyleSet($Sci, $STYLE_DEFAULT, 0x000000, 0xFFFFFF, 0, 0, 0, "Courier New", 10) Sci_StyleClearAll($Sci); This might look weird, but it resets all styles to de default style. Sci_StyleSet($Sci, _ ; handle to control 1, _ ; The style number. This can be any number you like from 0 to 255, except not the numbers 32 to 39. 0xFF0000, _; Text color (BGR) 0xFFFFFF, _; Background color (BGR) false, _; Bold false, _; Italic false, _; Underline -1, _ ; Fontname -1, _ ; Fontsize false) ; Hotspot ; If any of the parameters is -1, then the value of the default style is used. GUIRegisterMsg(0x004E, "WM_NOTIFY") GUISetState(@SW_SHOW) While 1 $Msg = GUIGetMsg(1) Switch $Msg[0] Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) $tNMHDR = DllStructCreate($tagNMHDR, $lParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Local $tagNMHDR = DllStructCreate("hwnd;int;uint;int;int;int;int;ptr;int;int;int;int;int;int;int;int;int;int;int", $lParam) Local $hWndFrom = DllStructGetData($tagNMHDR, 1) Local $IdFrom = DllStructGetData($tagNMHDR, 2) Local $Event = DllStructGetData($tagNMHDR, 3) Local $Position = DllStructGetData($tagNMHDR, 4) Local $Ch = DllStructGetData($tagNMHDR, 5) Local $Modifiers = DllStructGetData($tagNMHDR, 6) Local $ModificationType = DllStructGetData($tagNMHDR, 7) Local $Char = DllStructGetData($tagNMHDR, 8) Local $Length = DllStructGetData($tagNMHDR, 9) Local $LinesAdded = DllStructGetData($tagNMHDR, 10) Local $Message = DllStructGetData($tagNMHDR, 11) Local $uptr_t = DllStructGetData($tagNMHDR, 12) Local $sptr_t = DllStructGetData($tagNMHDR, 13) Local $Line = DllStructGetData($tagNMHDR, 14) Local $FoldLevelNow = DllStructGetData($tagNMHDR, 15) Local $FoldLevelPrev = DllStructGetData($tagNMHDR, 16) Local $Margin = DllStructGetData($tagNMHDR, 17) Local $ListType = DllStructGetData($tagNMHDR, 18) Local $X = DllStructGetData($tagNMHDR, 19) Local $Y = DllStructGetData($tagNMHDR, 20) Switch $Event Case $SCN_MODIFIED If BitAND($ModificationType, $SC_MOD_INSERTTEXT) or BitAND($ModificationType, $SC_MOD_DELETETEXT) Then Local $tChar = DllStructCreate("char["&$Length&"]",$Char) Local $Text = DllStructGetData($tChar, 1) ; $hWndFrom is $Sci $iLine = Sci_GetCurrentLine($hWndFrom) $iStartPos = Sci_GetLineStartPos($hWndFrom, $iLine-1) $sLine = Sci_GetLine($hWndFrom, $iLine-1) Sci_StyleApply($hWndFrom, $STYLE_DEFAULT, $iStartPos, StringLen($sLine)); Reset this line's style For $i = 1 to $Statements[0] $iOcc = 1 While 1 ; $Statements[$i] is the statement $iPos = StringInStr($sLine, $Statements[$i], 2, $iOcc) if $iPos = 0 Then ExitLoop Sci_StyleApply($hWndFrom, 1, $iStartPos+$iPos-1, StringLen($Statements[$i])) Sci_CalltipShow($hWndFrom, $iPos, $Statements[$i]) $iOcc += 1 WEnd Next EndIf Case $SCN_CHARADDED; Only when 1 char is added, so it isn't very usefull. Local $Text = Chr($Ch) Case $SCN_HOTSPOTCLICK Case $SCN_CALLTIPCLICK MsgBox(0,"Example","That's right!") EndSwitch Return $GUI_RUNDEFMSG EndFuncIf it starts complaining about a duplicate funtion name, remove the WM_NOTIFY function from _SciLexer.au3. mLipok 1 MailSpons: Fake SMTP server for safe email testing Dutch postcode & address API. Link to comment Share on other sites More sharing options...
Tolf Posted May 16, 2009 Share Posted May 16, 2009 Does anybody know how I could resize the scintilla control when the user resizes the window ? My UDF : Array2D Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now