From a69b55c674b0528c00598bea54b7a661f4e49f27 Mon Sep 17 00:00:00 2001 From: gregory guy Date: Thu, 7 Oct 2021 15:17:57 +0200 Subject: Conversion to the cmake building system. Signed-off-by: gregory guy --- doc/Scintilla/Steps.html | 142 ----------------------------------------------- 1 file changed, 142 deletions(-) delete mode 100644 doc/Scintilla/Steps.html (limited to 'doc/Scintilla/Steps.html') diff --git a/doc/Scintilla/Steps.html b/doc/Scintilla/Steps.html deleted file mode 100644 index ff88e88..0000000 --- a/doc/Scintilla/Steps.html +++ /dev/null @@ -1,142 +0,0 @@ - -How to use the Scintilla Edit Control in windows? -

How to use the Scintilla Edit Control in windows?

-

- This should be a little step by step explanation how to use Scintilla in the windows environment. -

-

-

How to create Scintilla Edit Control?

-

- First of all, load the Scintilla DLL with something like: -

-
-
-	hmod = LoadLibrary("SciLexer.DLL");
-		if (hmod==NULL)
-		{
-			MessageBox(hwndParent,
-			"The Scintilla DLL could not be loaded.",
-			"Error loading Scintilla",
-			MB_OK | MB_ICONERROR);
-		}
-		
-

- If the DLL was loaded successfully, then the DLL has registered (yes, by itself) a new - window class. The new class called "Scintilla" is the new scintilla edit control. -

-

- Now you can use this new control just like any other windows control. -

-
-
-	hwndScintilla = CreateWindowEx(0,
-		"Scintilla","", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPCHILDREN,
-		10,10,500,400,hwndParent,(HMENU)GuiID, hInstance,NULL);
-		
-

- Note the new window class name: "Scintilla". By reaching this point you actually included - a Scintilla Edit Control to your windows program. -

-

-

How to control the Scintilla Edit Control?

-

- You can control Scintilla by sending commands to the Edit Control. - There a 2 ways of doing this. A simple and fast way. -

-

The simple way to control Scintilla

-

- The simple way is just like with any other windows control. You can send messages to the - Scintilla Edit Control and receive notifications from the control. (Note that the notifications - are sent to the parent window of the Scintilla Edit Control.) -

-

- The Scintilla Edit Control knows a special message for each command. - To send commands to the Scintilla Edit Control you can use the SendMessage function. -

-
-
-	SendMessage(hwndScintilla,sci_command,wparam,lparam);
-			
-

- like: -

-
-
-	SendMessage(hwndScintilla,SCI_CREATEDOCUMENT, 0, 0);
-			
-

- Some of the commands will return a value and unused parameters should be set to NULL. -

-

-

The fast way to control Scintilla

-

- The fast way of controlling the Scintilla Edit Control is to call message handling function by yourself. - You can retrieve a pointer to the message handling function of the Scintilla Edit Control and - call it directly to execute a command. This way is much more faster than the SendMessage() way. -

-

- 1st you have to use the SCI_GETDIRECTFUNCTION and SCI_GETDIRECTPOINTER commands to - retrieve the pointer to the function and a pointer which must be the first parameter when calling the retrieved - function pointer. - You have to do this with the SendMessage way :) -

-

- The whole thing has to look like this: -

-
-
-	int (*fn)(void*,int,int,int);
-	void * ptr;
-	int canundo;
-
-	fn = (int (__cdecl *)(void *,int,int,int))SendMessage(
-		hwndScintilla,SCI_GETDIRECTFUNCTION,0,0);
-	ptr = (void *)SendMessage(hwndScintilla,SCI_GETDIRECTPOINTER,0,0);
-
-	canundo = fn(ptr,SCI_CANUNDO,0,0);
-			
-

- with "fn" as the function pointer to the message handling function of the Scintilla Control - and "ptr" as the pointer that must be used as 1st parameter. - The next parameters are the Scintilla Command with its two (optional) parameters. -

- -

-

How will I receive notifications?

-

- Whenever an event occurs where Scintilla wants to inform you about something, the Scintilla Edit Control - will send notification to the parent window. This is done by a WM_NOTITY message. - When receiving that message, you have to look in the xxx struct for the actual message. -

-

- So in Scintillas parent window message handling function you have to include some code like this: -

-
-	NMHDR *lpnmhdr;
-
-	[...]
-
-	case WM_NOTIFY:
-		lpnmhdr = (LPNMHDR) lParam;
-
-		if(lpnmhdr->hwndFrom==hwndScintilla)
-		{
-			switch(lpnmhdr->code)
-			{
-				case SCN_CHARADDED:
-					/* Hey, Scintilla just told me that a new */
-					/* character was added to the Edit Control.*/
-					/* Now i do something cool with that char. */
-				break;
-			}
-		}
-	break;
-			
-

-

- -

- Page contributed by Holger Schmidt. -

- - -- cgit v1.2.3