Keaz, I've done so much yesterday, but my DNS never updated so I couldn't post
!
I've fixed the buffer problem entirely - without slow startup and without huge RAM space cloggage! I've also found how to change the background color of a RichEdit!
OK, for these all I request is a good place in the credits, and if DarkBlue ever becomes the 'Official' IDE, I'd like to be part of the development team.
Here they are:
function setRichEditBuffer(richEditHandle as integer,buffer as dword)
lresult as dword
lresult = call dll(user32num,"SendMessageA",windowHandle(richEditHandle),0x435,0,buffer)
endfunction
function setRichEditBkg(richEditHandle as integer,colorval as dword)
`requires start_ion_system()
oldbkg as dword
oldbkg = call dll(user32num,"SendMessageA",windowHandle(richEditHandle),0x443,0,convertToSystemColor(colorval))
endfunction
function convertToSystemColor(colorval as dword)
systemcolor as dword
systemcolor = rgba(rgbb(colorval),rgbg(colorval),rgbr(colorval),0)
endfunction systemcolor
The buffer one should fix the slow startup.
I've got some more, but they are too beta to release them yet (Ex: Multiple undo/redos, line numbering help.
As to your last post, I've done quite a lot of calling the win32 API from DBpro, and would be happy to help. I've even got background in enumerated types (ughh, but I CAN use them
) My editor isn't very far yet, maybe we should start this together (you get to choose the name)? - It's probably better to both work on one rather than semi-compete and thus slow down development.
After reading this, I've decided to show you my other routines:
function getTextModified(richEditHandle as integer)
lresult as dword
lresult = call dll(user32num,"SendMessageA",windowHandle(richEditHandle),0xB8,0,0)
endfunction lresult
function setTextModified(richEditHandle as integer,modified as boolean)
lresult as dword
lresult = call dll(user32num,"SendMessageA",windowHandle(richEditHandle),0xB9,modified,0)
endfunction
function setRichEditMode(richEditHandle as integer,multipleUndos as boolean,allowUnicodeSet as boolean)
rem There must be no text in the edit box for this to work!!!
lresult as dword
lresult = call dll(user32num,"SendMessageA",windowHandle(richEditHandle),0xB9,20+4*multipleUndos+16*allowUnicodeSet,0)
endfunction
function editTopLine(editHandle as integer)
linenum as dword
linenum = call dll(user32num,"SendMessageA",windowHandle(editHandle),0xCE,0,0)
endfunction linenum
function getRichEditLineNum(richEditHandle as integer)
linenum as dword
linenum = call dll(user32num,"SendMessageA",windowHandle(richEditHandle),0x436,0,getSelStart(richEditHandle))+1
endfunction linenum
As you can tell, I have good experience with win32 GUIs, and I've looked into making some of the gadgets from it. It's really not so bad
I hope that we can develop one superb IDE together (if you'd be using the winAPI, one person isn't quite enough
)
-Xol