@ -0,0 +1,285 @@ |
||||
$ACCELERATOR ghAccTable |
||||
GUI "Color_Tab", PIXELS, ICON, 6666 |
||||
|
||||
$include "raedit.inc" |
||||
|
||||
CONST fWidth = 900 |
||||
CONST fHeight = 600 |
||||
CONST nTabs = 20 |
||||
|
||||
GLOBAL ghMainFrm AS CONTROL |
||||
GLOBAL ghMainTab AS CONTROL |
||||
GLOBAL ghStatus AS CONTROL |
||||
|
||||
GLOBAL ghTab[nTabs] AS HWND |
||||
GLOBAL ghEdit[nTabs] AS HWND |
||||
|
||||
SET gTabPage$[nTabs] |
||||
"<Untitled.bas>" |
||||
END SET |
||||
|
||||
|
||||
|
||||
ENUM |
||||
mnuNew = 9000 |
||||
mnuOpen |
||||
mnuSave |
||||
mnuCut |
||||
mnuCopy |
||||
mnuPaste |
||||
mnuUNDO |
||||
mnuREDO |
||||
mnuSELECTALL |
||||
mnuAbout |
||||
mnuEXIT |
||||
ID_TAB |
||||
ID_EDIT1 |
||||
END ENUM |
||||
|
||||
'================================================================ |
||||
SUB FORMLOAD() |
||||
IF FINDFIRSTINSTANCE(BCX_CLASSNAME$) THEN PostQuitMessage(0) |
||||
SET sAccel[] AS ACCEL |
||||
FCONTROL OR FVIRTKEY, ASC("N"), mnuNew, |
||||
FCONTROL OR FVIRTKEY, ASC("O"), mnuOpen, |
||||
FCONTROL OR FVIRTKEY, ASC("S"), mnuSave, |
||||
FCONTROL OR FVIRTKEY, ASC("Q"), mnuEXIT |
||||
END SET |
||||
|
||||
GLOBAL AS HACCEL ghAccTable |
||||
ghAccTable = CreateAcceleratorTable(sAccel, 4) |
||||
|
||||
InstallRAEdit(BCX_hInstance, FALSE) |
||||
|
||||
ghMainFrm = BCX_FORM("AIDE Demo", 0, 0, fWidth, fHeight) |
||||
|
||||
|
||||
|
||||
DIM rc AS RECT |
||||
GetClientRect (ghMainFrm, &rc) |
||||
AdjustWindowRect (&rc, 0, 0) |
||||
|
||||
ghMainTab = BCX_TAB(ghMainFrm, ID_TAB, 1, ghTab, gTabPage$, 0, 0, fWidth, fHeight-26,NULL) |
||||
BCX_SET_FONT(ghMainTab, "Verdana", 9) |
||||
|
||||
ghEdit[0] = BCX_CONTROL("RAEdit", ghTab[0], "This is Page ", 6000, rc.left,rc.top,rc.right-rc.left-8,rc.bottom-rc.top-46, _ |
||||
WS_CHILD OR WS_VISIBLE OR WS_BORDER OR ES_LEFT OR ES_MULTILINE OR STYLE_AUTOSIZELINENUM OR STYLE_NOLINENUMBER OR STYLE_DRAGDROP) |
||||
|
||||
RaConfigEditor(ghEdit[0]) |
||||
|
||||
SetupMenu(ghMainFrm) |
||||
|
||||
ghStatus = BCX_STATUS("Ready", ghMainFrm) |
||||
|
||||
'Generate a WM_SIZE message |
||||
MoveWindow(ghMainFrm, 0, 0, fWidth, fHeight, TRUE) 'Force a WM_SIZE |
||||
|
||||
CENTER(ghMainFrm) |
||||
SHOW(ghMainFrm) |
||||
|
||||
' SetFocus(ghEdit[0]) |
||||
|
||||
END SUB |
||||
|
||||
|
||||
SUB SetupMenu(parent as HWND) |
||||
GLOBAL AS HMENU MainMenu, FileMenu, EditMenu, HelpMenu |
||||
MainMenu = CreateMenu() |
||||
FileMenu = CreateMenu() |
||||
EditMenu = CreateMenu() |
||||
HelpMenu = CreateMenu() |
||||
|
||||
InsertMenu(MainMenu, 0, MF_POPUP, FileMenu, "&File") |
||||
AppendMenu(FileMenu, MF_STRING, mnuNew, E"New\tCtrl-N") |
||||
AppendMenu(FileMenu, MF_STRING, mnuOpen, E"Open\tCtrl-O") |
||||
AppendMenu(FileMenu, MF_STRING, mnuSave, E"Save\tCtrl-S") |
||||
AppendMenu(FileMenu, MF_SEPARATOR, 0, NULL) |
||||
AppendMenu(FileMenu, MF_STRING, mnuEXIT, E"Exit\tAlt-F4") |
||||
|
||||
Insertmenu(MainMenu, 1, MF_POPUP, EditMenu, "&Edit") |
||||
AppendMenu(EditMenu, MF_STRING, mnuCut, E"Cut\tCtrl-X") |
||||
AppendMenu(EditMenu, MF_STRING, mnuCopy, E"Copy\tCtrl-C") |
||||
AppendMenu(EditMenu, MF_STRING, mnuPaste, E"Paste\tCtrl-V") |
||||
AppendMenu(EditMenu, MF_SEPARATOR, 0, NULL) |
||||
AppendMenu(EditMenu, MF_STRING, mnuSELECTALL, E"Select All\tCtrl-A") |
||||
AppendMenu(EditMenu, MF_SEPARATOR, 0, NULL) |
||||
AppendMenu(EditMenu, MF_STRING, mnuUNDO, E"Undo\tCtrl-Z") |
||||
AppendMenu(EditMenu, MF_STRING, mnuREDO, E"Redo\tCtrl-Y") |
||||
|
||||
Insertmenu(MainMenu, 2, MF_POPUP, HelpMenu, "Help") |
||||
AppendMenu(HelpMenu, MF_STRING, mnuAbout, "About") |
||||
|
||||
SetMenu(parent, MainMenu) |
||||
|
||||
END SUB |
||||
|
||||
FUNCTION GetTabLabelText$(index AS INTEGER) |
||||
DIM AS TCITEM tabItem |
||||
DIM tabLabel$ |
||||
|
||||
tabItem.mask = TCIF_TEXT |
||||
tabItem.pszText = tabLabel |
||||
tabItem.cchTextMax = sizeof(tabLabel) |
||||
|
||||
TabCtrl_GetItem(ghMainTab, index, &tabItem) |
||||
|
||||
FUNCTION = TRIM$(tabLabel) |
||||
END FUNCTION |
||||
|
||||
SUB SetTabLabelText(fname$, index AS INTEGER) |
||||
DIM AS TCITEM tabItem |
||||
|
||||
tabItem.mask=TCIF_TEXT |
||||
tabItem.pszText = BCXSPLITPATH$(fname$,FNAME OR FEXT) |
||||
tabItem.cchTextMax = BCXSTRSIZE |
||||
|
||||
TabCtrl_SetItem(ghMainTab, index, &tabItem) |
||||
END SUB |
||||
'================================================================ |
||||
|
||||
BEGIN EVENTS |
||||
SELECT CASE CBMSG |
||||
|
||||
CASE WM_SHOWWINDOW |
||||
' RaNewEdit() |
||||
|
||||
CASE WM_COMMAND |
||||
SELECT CASE CBCTL |
||||
CASE mnuOpen |
||||
dim fname$ |
||||
|
||||
IF TRIM$(GetTabLabelText(TabCtrl_GetCurSel(ghMainTab))) <> "<Untitled.bas>" THEN |
||||
RaNewEdit() |
||||
END IF |
||||
|
||||
fname$ = RaLoadFile(ghEdit[TabCtrl_GetCurSel(ghMainTab)]) |
||||
|
||||
IF *fname$ THEN |
||||
SetTabLabelText(fname$, TabCtrl_GetCurSel(ghMainTab)) |
||||
END IF |
||||
|
||||
CASE mnuNew |
||||
RaNewEdit() |
||||
|
||||
CASE mnuCut |
||||
RaCut(ghEdit[TabCtrl_GetCurSel(ghMainTab)]) |
||||
|
||||
CASE mnuCopy |
||||
RaCopy(ghEdit[TabCtrl_GetCurSel(ghMainTab)]) |
||||
|
||||
CASE mnuPaste |
||||
RaPaste(ghEdit[TabCtrl_GetCurSel(ghMainTab)]) |
||||
|
||||
CASE mnuSELECTALL |
||||
RaSelectAll(ghEdit[TabCtrl_GetCurSel(ghMainTab)]) |
||||
|
||||
CASE mnuUNDO |
||||
RaUndo(ghEdit[TabCtrl_GetCurSel(ghMainTab)]) |
||||
|
||||
CASE mnuREDO |
||||
RaRedo(ghEdit[TabCtrl_GetCurSel(ghMainTab)]) |
||||
|
||||
CASE mnuEXIT |
||||
PostMessage(hWnd, WM_CLOSE, 0, 0) |
||||
|
||||
END SELECT |
||||
|
||||
CASE WM_SIZE |
||||
DIM cxClient% |
||||
DIM cyClient% |
||||
DIM rc AS RECT |
||||
|
||||
cxClient=LOWORD(lParam) |
||||
cyClient=HIWORD(lParam) |
||||
|
||||
MoveWindow(ghMainTab, 0, 2, cxClient+1, cyClient-22, TRUE) |
||||
|
||||
|
||||
|
||||
GetClientRect (ghMainTab, &rc) |
||||
AdjustWindowRect (&rc, 0, 0) |
||||
FOR INTEGER i = 0 to sizeof(ghEdit)/sizeof(ghEdit[0]) |
||||
IF ghEdit[i] THEN |
||||
SetWindowPos(ghEdit[i], NULL, rc.left, rc.top+2, (rc.right - rc.left)-8, (rc.bottom - rc.top)-24, SWP_NOZORDER OR SWP_NOMOVE ) |
||||
END IF |
||||
NEXT |
||||
|
||||
SendMessage(ghStatus, WM_SIZE, 0, 0) |
||||
|
||||
CASE WM_NOTIFY |
||||
DIM LPNMHDR AS NMHDR* |
||||
DIM PageNo AS LONG |
||||
DIM bm, buff$ |
||||
DIM AS RASELCHANGE PTR lpRASELCHANGE = (RASELCHANGE PTR)lParam |
||||
|
||||
LPNMHDR = (NMHDR*)lParam |
||||
|
||||
IF LPNMHDR->code >= TCN_LAST && LPNMHDR->code <= TCN_FIRST THEN |
||||
SELECT CASE LPNMHDR->code |
||||
CASE TCN_SELCHANGE |
||||
PageNo = TabCtrl_GetCurSel(ghMainTab) |
||||
SetFocus(ghEdit[PageNo]) |
||||
END SELECT |
||||
END IF |
||||
|
||||
IF LPNMHDR->hwndFrom = ghEdit[TabCtrl_GetCurSel(ghMainTab)] THEN |
||||
|
||||
IF LPNMHDR->code = EN_SELCHANGE THEN |
||||
' Update statusbar |
||||
SPRINT buff,"Line:", lpRASELCHANGE->line+1, ", Column:", lpRASELCHANGE->chrg.cpMin - lpRASELCHANGE->cpLine+1 |
||||
SetWindowText(ghStatus, buff) |
||||
END IF |
||||
|
||||
IF lpRASELCHANGE->seltyp = SEL_OBJECT THEN |
||||
' Bookmark clicked |
||||
bm=SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_GETBOOKMARK, lpRASELCHANGE->line,0) |
||||
SELECT CASE bm |
||||
CASE 1 |
||||
' Collapse |
||||
SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_COLLAPSE, lpRASELCHANGE->line,0) |
||||
CASE 2 |
||||
' Expand |
||||
SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_EXPAND, lpRASELCHANGE->line,0) |
||||
END SELECT |
||||
ELSE |
||||
' Selection changed |
||||
IF lpRASELCHANGE->fchanged THEN |
||||
' Update block bookmarks |
||||
SendMessage(ghEdit[TabCtrl_GetCurSel(ghMainTab)],REM_SETBLOCKS,0,0) |
||||
END IF |
||||
END IF |
||||
END IF |
||||
|
||||
|
||||
|
||||
CASE WM_CLOSE |
||||
DestroyWindow(hWnd) |
||||
|
||||
|
||||
CASE WM_DESTROY |
||||
PostQuitMessage(0) |
||||
|
||||
|
||||
Case WM_CONTEXTMENU |
||||
DIM AS POINT pt |
||||
If wParam=(WPARAM)ghTab[TabCtrl_GetCurSel(ghMainTab)] Then |
||||
pt.x = LOWORD(lParam) |
||||
pt.y = HIWORD(lParam) |
||||
TrackPopupMenu( GetSubMenu( GetMenu(hWnd), 1 ), TPM_LEFTALIGN or TPM_RIGHTBUTTON, pt.x, pt.y, 0, hWnd, 0 ) |
||||
EndIf |
||||
|
||||
|
||||
CASE WM_GETMINMAXINFO |
||||
DIM AS LPMINMAXINFO mm = cast(LPMINMAXINFO,lParam) |
||||
DIM AS UINT wDpi = GetDpiForWindow(hWnd) |
||||
DIM AS DOUBLE scalingFactor = (double)wDpi / 96 |
||||
DIM AS POINT defDims |
||||
|
||||
defDims.x = fWidth + wDpi + scalingFactor '+ (fWidth * scalingFactor) |
||||
defDims.y = fHeight + wDpi + scalingFactor '+ (fHeight * scalingFactor) |
||||
|
||||
mm->ptMinTrackSize = defDims |
||||
|
||||
END SELECT |
||||
END EVENTS |
||||
|
@ -0,0 +1,15 @@ |
||||
#include <windows.h> |
||||
#include "raedit.h" |
||||
|
||||
IDI_ICON ICON DISCARDABLE "resource/demo.ico" |
||||
IDB_RAEDITBUTTON BITMAP DISCARDABLE "resource/Button.bmp" |
||||
IDC_HSPLITTCUR CURSOR DISCARDABLE "resource/SplitH.cur" |
||||
IDB_BOOKMARK BITMAP DISCARDABLE "resource/Bookmark.bmp" |
||||
IDC_SELECTCUR CURSOR DISCARDABLE "resource/Select.cur" |
||||
IDB_LINENUMBER BITMAP DISCARDABLE "resource/Linenumber.bmp" |
||||
IDB_EXPAND BITMAP DISCARDABLE "resource/Expand.bmp" |
||||
IDB_COLLAPSE BITMAP DISCARDABLE "resource/Collapse.bmp" |
||||
IDB_LOCK BITMAP DISCARDABLE "resource/Lock.bmp" |
||||
RC_KEYWORDS RCDATA DISCARDABLE "resource/keywords.txt" |
||||
RC_WINAPI RCDATA DISCARDABLE "resource/winapi.txt" |
||||
|
@ -0,0 +1,319 @@ |
||||
#pragma once |
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
#include <windows.h> |
||||
#include <commctrl.h> |
||||
#include <richedit.h> |
||||
|
||||
#pragma pack(push, 1) |
||||
|
||||
// Default colors
|
||||
#define BCKCLR 0x00C0F0F0 |
||||
#define TXTCLR 0x00000000 |
||||
#define SELBCKCLR 0x00800000 |
||||
#define SELTXTCLR 0x00FFFFFF |
||||
#define CMNTCLR 0x02008000 |
||||
#define STRCLR 0x00A00000 |
||||
#define OPRCLR 0x000000A0 |
||||
#define HILITE1 0x00F0C0C0 |
||||
#define HILITE2 0x00C0F0C0 |
||||
#define HILITE3 0x00C0C0F0 |
||||
#define SELBARCLR 0x00C0C0C0 |
||||
#define SELBARPEN 0x00808080 |
||||
#define LNRCLR 0x00800000 |
||||
#define NUMCLR 0x00808080 |
||||
#define CMNTBCK 0x00C0F0F0 |
||||
#define STRBCK 0x00C0F0F0 |
||||
#define NUMBCK 0x00C0F0F0 |
||||
#define OPRBCK 0x00C0F0F0 |
||||
#define CHANGEDCLR 0x0000F0F0 |
||||
#define CHANGESAVEDCLR 0x0000F000 |
||||
|
||||
// Window styles
|
||||
#define STYLE_NOSPLITT 0x0001 // No splitt button
|
||||
#define STYLE_NOLINENUMBER 0x0002 // No linenumber button
|
||||
#define STYLE_NOCOLLAPSE 0x0004 // No expand/collapse buttons
|
||||
#define STYLE_NOHSCROLL 0x0008 // No horizontal scrollbar
|
||||
#define STYLE_NOVSCROLL 0x0010 // No vertical scrollbar
|
||||
#define STYLE_NOHILITE 0x0020 // No color hiliting
|
||||
#define STYLE_NOSIZEGRIP 0x0040 // No size grip
|
||||
#define STYLE_NODBLCLICK 0x0080 // No action on double clicks
|
||||
#define STYLE_READONLY 0x0100 // Text is locked
|
||||
#define STYLE_NODIVIDERLINE 0x0200 // Blocks are not divided by line
|
||||
#define STYLE_NOBACKBUFFER 0x0400 // Drawing directly to screen DC
|
||||
#define STYLE_NOSTATE 0x0800 // No state indicator
|
||||
#define STYLE_DRAGDROP 0x1000 // Drag & Drop support, app must load ole
|
||||
#define STYLE_SCROLLTIP 0x2000 // Scrollbar tooltip
|
||||
#define STYLE_HILITECOMMENT 0x4000 // Comments are hilited
|
||||
#define STYLE_AUTOSIZELINENUM 0x8000 // Line number column autosizes
|
||||
|
||||
// Styles used with REM_SETSTYLEEX message
|
||||
#define STYLEEX_LOCK 0x0001 // Show lock button
|
||||
#define STYLEEX_BLOCKGUIDE 0x0002 // Show block guiders
|
||||
#define STILEEX_LINECHANGED 0x0004 // Show line changed state
|
||||
#define STILEEX_STRINGMODEFB 0x0008 // FreeBasic
|
||||
#define STILEEX_STRINGMODEC 0x0010 // C/C++
|
||||
|
||||
// Edit modes
|
||||
#define MODE_NORMAL 0 // Normal
|
||||
#define MODE_BLOCK 1 // Block select
|
||||
#define MODE_OVERWRITE 2 // Overwrite
|
||||
|
||||
// REM_COMMAND commands
|
||||
#define CMD_LEFT 1 |
||||
#define CMD_RIGHT 2 |
||||
#define CMD_LINE_UP 3 |
||||
#define CMD_LINE_DOWN 4 |
||||
#define CMD_PAGE_UP 5 |
||||
#define CMD_PAGE_DOWN 6 |
||||
#define CMD_HOME 7 |
||||
#define CMD_END 8 |
||||
#define CMD_INSERT 9 |
||||
#define CMD_DELETE 10 |
||||
#define CMD_BACKSPACE 11 |
||||
// REM_COMMAND modifyers
|
||||
#define CMD_ALT 256 |
||||
#define CMD_CTRL 512 |
||||
#define CMD_SHIFT 1024 |
||||
|
||||
// Private edit messages
|
||||
#define REM_RAINIT (WM_USER+9999) // wParam=0, lParam=pointer to controls DIALOG struct
|
||||
#define REM_BASE (WM_USER+1000) |
||||
#define REM_SETHILITEWORDS (REM_BASE+0) // wParam=Color, lParam=lpszWords
|
||||
#define REM_SETFONT (REM_BASE+1) // wParam=nLineSpacing, lParam=lpRAFONT
|
||||
#define REM_GETFONT (REM_BASE+2) // wParam=0, lParam=lpRAFONT
|
||||
#define REM_SETCOLOR (REM_BASE+3) // wParam=0, lParam=lpRACOLOR
|
||||
#define REM_GETCOLOR (REM_BASE+4) // wParam=0, lParam=lpRACOLOR
|
||||
#define REM_SETHILITELINE (REM_BASE+5) // wParam=Line, lParam=Color
|
||||
#define REM_GETHILITELINE (REM_BASE+6) // wParam=Line, lParam=0
|
||||
#define REM_SETBOOKMARK (REM_BASE+7) // wParam=Line, lParam=Type
|
||||
#define REM_GETBOOKMARK (REM_BASE+8) // wParam=Line, lParam=0
|
||||
#define REM_CLRBOOKMARKS (REM_BASE+9) // wParam=0, lParam=Type
|
||||
#define REM_NXTBOOKMARK (REM_BASE+10) // wParam=Line, lParam=Type
|
||||
#define REM_PRVBOOKMARK (REM_BASE+11) // wParam=Line, lParam=Type
|
||||
#define REM_FINDBOOKMARK (REM_BASE+12) // wParam=BmID, lParam=0
|
||||
#define REM_SETBLOCKS (REM_BASE+13) // wParam=[lpLINERANGE], lParam=0
|
||||
#define REM_ISLINE (REM_BASE+14) // wParam=Line, lParam=lpszDef
|
||||
#define REM_GETWORD (REM_BASE+15) // wParam=BuffSize, lParam=lpBuff
|
||||
#define REM_COLLAPSE (REM_BASE+16) // wParam=Line, lParam=0
|
||||
#define REM_COLLAPSEALL (REM_BASE+17) // wParam=0, lParam=0
|
||||
#define REM_EXPAND (REM_BASE+18) // wParam=Line, lParam=0
|
||||
#define REM_EXPANDALL (REM_BASE+19) // wParam=0, lParam=0
|
||||
#define REM_LOCKLINE (REM_BASE+20) // wParam=Line, lParam=TRUE/FALSE
|
||||
#define REM_ISLINELOCKED (REM_BASE+21) // wParam=Line, lParam=0
|
||||
#define REM_HIDELINE (REM_BASE+22) // wParam=Line, lParam=TRUE/FALSE
|
||||
#define REM_ISLINEHIDDEN (REM_BASE+23) // wParam=Line, lParam=0
|
||||
#define REM_AUTOINDENT (REM_BASE+24) // wParam=0, lParam=TRUE/FALSE
|
||||
#define REM_TABWIDTH (REM_BASE+25) // wParam=nChars, lParam=TRUE/FALSE (Expand tabs)
|
||||
#define REM_SELBARWIDTH (REM_BASE+26) // wParam=nWidth, lParam=0
|
||||
#define REM_LINENUMBERWIDTH (REM_BASE+27) // wParam=nWidth, lParam=0
|
||||
#define REM_MOUSEWHEEL (REM_BASE+28) // wParam=nLines, lParam=0
|
||||
#define REM_SUBCLASS (REM_BASE+29) // wParam=0, lParam=lpWndProc
|
||||
#define REM_SETSPLIT (REM_BASE+30) // wParam=nSplit, lParam=0
|
||||
#define REM_GETSPLIT (REM_BASE+31) // wParam=0, lParam=0
|
||||
#define REM_VCENTER (REM_BASE+32) // wParam=0, lParam=0
|
||||
#define REM_REPAINT (REM_BASE+33) // wParam=0, lParam=TRUE/FALSE (Paint Now)
|
||||
#define REM_BMCALLBACK (REM_BASE+34) // wParam=0, lParam=lpBmProc
|
||||
#define REM_READONLY (REM_BASE+35) // wParam=0, lParam=TRUE/FALSE
|
||||
#define REM_INVALIDATELINE (REM_BASE+36) // wParam=Line, lParam=0
|
||||
#define REM_SETPAGESIZE (REM_BASE+37) // wParam=nLines, lParam=0
|
||||
#define REM_GETPAGESIZE (REM_BASE+38) // wParam=0, lParam=0
|
||||
#define REM_GETCHARTAB (REM_BASE+39) // wParam=nChar, lParam=0
|
||||
#define REM_SETCHARTAB (REM_BASE+40) // wParam=nChar, lParam=nValue
|
||||
#define REM_SETCOMMENTBLOCKS (REM_BASE+41) // wParam=lpStart, lParam=lpEnd
|
||||
#define REM_SETWORDGROUP (REM_BASE+42) // wParam=0, lParam=nGroup (0-15)
|
||||
#define REM_GETWORDGROUP (REM_BASE+43) // wParam=0, lParam=0
|
||||
#define REM_SETBMID (REM_BASE+44) // wParam=nLine, lParam=nBmID
|
||||
#define REM_GETBMID (REM_BASE+45) // wParam=nLine, lParam=0
|
||||
#define REM_ISCHARPOS (REM_BASE+46) // wParam=CP, lParam=0, returns 1 if comment block, 2 if comment, 3 if string
|
||||
#define REM_HIDELINES (REM_BASE+47) // wParam=nLine, lParam=nLines
|
||||
#define REM_SETDIVIDERLINE (REM_BASE+48) // wParam=nLine, lParam=TRUE/FALSE
|
||||
#define REM_ISINBLOCK (REM_BASE+49) // wParam=nLine, lParam=lpRABLOCKDEF
|
||||
#define REM_TRIMSPACE (REM_BASE+50) // wParam=nLine, lParam=fLeft
|
||||
#define REM_SAVESEL (REM_BASE+51) // wParam=0, lParam=0
|
||||
#define REM_RESTORESEL (REM_BASE+52) // wParam=0, lParam=0
|
||||
#define REM_GETCURSORWORD (REM_BASE+53) // wParam=BuffSize, lParam=lpBuff, Returns line number
|
||||
#define REM_SETSEGMENTBLOCK (REM_BASE+54) // wParam=nLine, lParam=TRUE/FALSE
|
||||
#define REM_GETMODE (REM_BASE+55) // wParam=0, lParam=0
|
||||
#define REM_SETMODE (REM_BASE+56) // wParam=nMode, lParam=0
|
||||
#define REM_GETBLOCK (REM_BASE+57) // wParam=0, lParam=lpBLOCKRANGE
|
||||
#define REM_SETBLOCK (REM_BASE+58) // wParam=0, lParam=lpBLOCKRANGE
|
||||
#define REM_BLOCKINSERT (REM_BASE+59) // wParam=0, lParam=lpText
|
||||
#define REM_LOCKUNDOID (REM_BASE+60) // wParam=TRUE/FALSE, lParam=0
|
||||
#define REM_ADDBLOCKDEF (REM_BASE+61) // wParam=0, lParam=lpRABLOCKDEF
|
||||
#define REM_CONVERT (REM_BASE+62) // wParam=nType, lParam=0
|
||||
#define REM_BRACKETMATCH (REM_BASE+63) // wParam=0, lParam=lpDef {[(,}]),_
|
||||
#define REM_COMMAND (REM_BASE+64) // wParam=nCommand, lParam=0
|
||||
#define REM_CASEWORD (REM_BASE+65) // wParam=cp, lParam=lpWord
|
||||
#define REM_GETBLOCKEND (REM_BASE+66) // wParam=Line, lParam=0
|
||||
#define REM_SETLOCK (REM_BASE+67) // wParam=TRUE/FALSE, lParam=0
|
||||
#define REM_GETLOCK (REM_BASE+68) // wParam=0, lParam=0
|
||||
#define REM_GETWORDFROMPOS (REM_BASE+69) // wParam=cp, lParam=lpBuff
|
||||
#define REM_SETNOBLOCKLINE (REM_BASE+70) // wParam=Line, lParam=TRUE/FALSE
|
||||
#define REM_ISLINENOBLOCK (REM_BASE+71) // wParam=Line, lParam=0
|
||||
#define REM_SETALTHILITELINE (REM_BASE+72) // wParam=Line, lParam=TRUE/FALSE
|
||||
#define REM_ISLINEALTHILITE (REM_BASE+73) // wParam=Line, lParam=0
|
||||
#define REM_SETCURSORWORDTYPE (REM_BASE+74) // wParam=nType, lParam=0
|
||||
#define REM_SETBREAKPOINT (REM_BASE+75) // wParam=nLine, lParam=TRUE/FALSE
|
||||
#define REM_NEXTBREAKPOINT (REM_BASE+76) // wParam=nLine, lParam=0
|
||||
#define REM_GETLINESTATE (REM_BASE+77) // wParam=nLine, lParam=0
|
||||
#define REM_SETERROR (REM_BASE+78) // wParam=nLine, lParam=nErrID
|
||||
#define REM_GETERROR (REM_BASE+79) // wParam=nLine, lParam=0
|
||||
#define REM_NEXTERROR (REM_BASE+80) // wParam=nLine, lParam=0
|
||||
#define REM_CHARTABINIT (REM_BASE+81) // wParam=0, lParam=0
|
||||
#define REM_LINEREDTEXT (REM_BASE+82) // wParam=nLine, lParam=TRUE/FALSE
|
||||
#define REM_SETSTYLEEX (REM_BASE+83) // wParam=nStyleEx, lParam=0
|
||||
#define REM_GETUNICODE (REM_BASE+84) // wParam=0, lParam=0
|
||||
#define REM_SETUNICODE (REM_BASE+85) // wParam=TRUE/FALSE, lParam=0
|
||||
#define REM_SETCHANGEDSTATE (REM_BASE+86) // wParam=TRUE/FALSE, lParam=0
|
||||
#define REM_SETTOOLTIP (REM_BASE+87) // wParam=n (1-6), lParam=lpText
|
||||
#define REM_HILITEACTIVELINE (REM_BASE+88) // wParam=0, lParam=nColor
|
||||
#define REM_GETUNDO (REM_BASE+89) // wParam=nSize, lParam=lpMem
|
||||
#define REM_SETUNDO (REM_BASE+90) // wParam=nSize, lParam=lpMem
|
||||
#define REM_GETLINEBEGIN (REM_BASE+91) // wParam=nLine, lParam=0
|
||||
|
||||
// Convert types
|
||||
#define CONVERT_TABTOSPACE 0 |
||||
#define CONVERT_SPACETOTAB 1 |
||||
#define CONVERT_UPPERCASE 2 |
||||
#define CONVERT_LOWERCASE 3 |
||||
|
||||
// Line hiliting
|
||||
#define STATE_HILITEOFF 0 |
||||
#define STATE_HILITE1 1 |
||||
#define STATE_HILITE2 2 |
||||
#define STATE_HILITE3 3 |
||||
#define STATE_HILITEMASK 3 |
||||
|
||||
// Bookmarks
|
||||
#define STATE_BMOFF 0x00 |
||||
#define STATE_BM1 0x10 |
||||
#define STATE_BM2 0x20 |
||||
#define STATE_BM3 0x30 |
||||
#define STATE_BM4 0x40 |
||||
#define STATE_BM5 0x50 |
||||
#define STATE_BM6 0x60 |
||||
#define STATE_BM7 0x70 |
||||
#define STATE_BM8 0x80 |
||||
#define STATE_BMMASK 0x0F0 |
||||
|
||||
// Line states
|
||||
#define STATE_LOCKED 0x00000100 |
||||
#define STATE_HIDDEN 0x00000200 |
||||
#define STATE_COMMENT 0x00000400 |
||||
#define STATE_DIVIDERLINE 0x00000800 |
||||
#define STATE_SEGMENTBLOCK 0x00001000 |
||||
#define STATE_NOBLOCK 0x00002000 |
||||
#define STATE_ALTHILITE 0x00004000 |
||||
#define STATE_BREAKPOINT 0x00008000 |
||||
#define STATE_BLOCKSTART 0x00010000 |
||||
#define STATE_BLOCK 0x00020000 |
||||
#define STATE_BLOCKEND 0x00040000 |
||||
#define STATE_REDTEXT 0x00080000 |
||||
#define STATE_COMMENTNEST 0x00100000 |
||||
#define STATE_CHANGED 0x00200000 |
||||
#define STATE_CHANGESAVED 0x00400000 |
||||
#define STATE_GARBAGE 0x80000000 |
||||
|
||||
// Character table types
|
||||
#define CT_NONE 0 |
||||
#define CT_CHAR 1 |
||||
#define CT_OPER 2 |
||||
#define CT_HICHAR 3 |
||||
#define CT_CMNTCHAR 4 |
||||
#define CT_STRING 5 |
||||
#define CT_CMNTDBLCHAR 6 |
||||
#define CT_CMNTINITCHAR 7 |
||||
|
||||
// Find
|
||||
#define FR_IGNOREWHITESPACE 0x8000000 |
||||
|
||||
struct tagRAFONT { |
||||
HFONT hFont; // Code edit normal
|
||||
HFONT hIFont; // Code edit italics
|
||||
HFONT hLnrFont; // Line numbers
|
||||
}; |
||||
typedef struct tagRAFONT RAFONT; |
||||
|
||||
struct tagRACOLOR { |
||||
COLORREF bckcol; // Back color
|
||||
COLORREF txtcol; // Text color
|
||||
COLORREF selbckcol; // Sel back color
|
||||
COLORREF seltxtcol; // Sel text color
|
||||
COLORREF cmntcol; // Comment color
|
||||
COLORREF strcol; // String color
|
||||
COLORREF oprcol; // Operator color
|
||||
COLORREF hicol1; // Line hilite 1
|
||||
COLORREF hicol2; // Line hilite 2
|
||||
COLORREF hicol3; // Line hilite 3
|
||||
COLORREF selbarbck; // Selection bar
|
||||
COLORREF selbarpen; // Selection bar pen
|
||||
COLORREF lnrcol; // Line numbers color
|
||||
COLORREF numcol; // Numbers & hex color
|
||||
COLORREF cmntback; // Comment back color
|
||||
COLORREF strback; // String back color
|
||||
COLORREF numback; // Numbers & hex back color
|
||||
COLORREF oprback; // Operator back color
|
||||
COLORREF changed; // Line changed indicator
|
||||
COLORREF changesaved; // Line saved chane indicator
|
||||
}; |
||||
typedef struct tagRACOLOR RACOLOR; |
||||
|
||||
struct tagRASELCHANGE { |
||||
NMHDR nmhdr; |
||||
CHARRANGE chrg; // Current selection
|
||||
WORD seltyp; // SEL_TEXT or SEL_OBJECT
|
||||
DWORD line; // Line number
|
||||
DWORD cpLine; // Character position of first character
|
||||
HANDLE lpLine; // Pointer to line
|
||||
DWORD nlines; // Total number of lines
|
||||
DWORD nhidden; // Total number of hidden lines
|
||||
BOOL fchanged; // TRUE if changed since last
|
||||
DWORD npage; // Page number
|
||||
DWORD nWordGroup; // Hilite word group(0-15)
|
||||
}; |
||||
typedef struct tagRASELCHANGE RASELCHANGE; |
||||
|
||||
#define BD_NONESTING 0x01 // Set to true for non nested blocks
|
||||
#define BD_DIVIDERLINE 0x02 // Draws a divider line
|
||||
#define BD_INCLUDELAST 0x04 // lpszEnd line is also collapsed
|
||||
#define BD_LOOKAHEAD 0x08 // Look 500 lines ahead for the ending
|
||||
#define BD_SEGMENTBLOCK 0x10 // Segment block, collapse till next segmentblock
|
||||
#define BD_COMMENTBLOCK 0x20 // Comment block
|
||||
#define BD_NOBLOCK 0x40 //
|
||||
#define BD_ALTHILITE 0x80 // Adds 1 to the current word group for syntax coloring.
|
||||
|
||||
struct tagRABLOCKDEF { |
||||
LPTSTR lpszStart; // Block start
|
||||
LPTSTR lpszEnd; // Block end
|
||||
LPTSTR lpszNot1; // Dont hide line containing this or set to NULL
|
||||
LPTSTR lpszNot2; // Dont hide line containing this or set to NULL
|
||||
DWORD flag; // High word is WordGroup(0-15)
|
||||
}; |
||||
typedef struct tagRABLOCKDEF RABLOCKDEF; |
||||
|
||||
struct tagLINERANGE { |
||||
DWORD lnMin; // Starting line
|
||||
DWORD lnMax; // Ending line
|
||||
}; |
||||
typedef struct tagLINERANGE LINERANGE; |
||||
|
||||
struct tagBLOCKRANGE { |
||||
DWORD lnMin; // Starting line
|
||||
DWORD clMin; // Starting column
|
||||
DWORD lnMax; // Ending line
|
||||
DWORD clMax; // Ending column
|
||||
}; |
||||
typedef struct tagBLOCKRANGE BLOCKRANGE; |
||||
|
||||
void WINAPI InstallRAEdit(HINSTANCE hInst, BOOL fGlobal); |
||||
void WINAPI UnInstallRAEdit(void); |
||||
|
||||
|
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
||||
#pragma pack(pop) |
@ -0,0 +1,11 @@ |
||||
#define IDI_ICON 6666 |
||||
#define IDB_RAEDITBUTTON 100 |
||||
#define IDC_HSPLITTCUR 101 |
||||
#define IDB_BOOKMARK 102 |
||||
#define IDC_SELECTCUR 103 |
||||
#define IDB_LINENUMBER 104 |
||||
#define IDB_EXPAND 105 |
||||
#define IDB_COLLAPSE 106 |
||||
#define IDB_LOCK 107 |
||||
#define RC_KEYWORDS 108 |
||||
#define RC_WINAPI 109 |
@ -0,0 +1,188 @@ |
||||
#include "lib/RAEdit.h" |
||||
#include "raEdit.h" |
||||
$PRAGMA lib "lib/libRAEditC.a" |
||||
|
||||
SUB RaNewEdit() |
||||
DIM pn |
||||
DIM AS RECT rc |
||||
|
||||
pn = TabCtrl_GetItemCount(ghMainTab) |
||||
|
||||
GetClientRect (ghMainTab, &rc) |
||||
AdjustWindowRect (&rc, 0, 0) |
||||
|
||||
IF pn THEN |
||||
BCX_ADDTAB(ghMainTab, pn, "<Untitled.bas>") |
||||
ghEdit[pn] = BCX_CONTROL("RAEdit", ghTab[pn], "This is Page ", pn+6000, rc.left,rc.top,rc.right-rc.left-8,rc.bottom-rc.top-46, _ |
||||
WS_CHILD OR WS_VISIBLE OR WS_BORDER OR ES_LEFT OR ES_MULTILINE OR STYLE_AUTOSIZELINENUM OR STYLE_NOLINENUMBER OR STYLE_DRAGDROP) |
||||
END IF |
||||
|
||||
RaConfigEditor(ghEdit[pn]) |
||||
|
||||
END SUB |
||||
|
||||
SUB RaConfigEditor(hEDT as HWND) |
||||
|
||||
' Set Editor Font |
||||
BCX_SET_FONT(hEDT, "Consolas", 12) |
||||
|
||||
' Enable Line Numbers |
||||
CheckDlgButton(hEDT,-2,TRUE) |
||||
SendMessage(hEDT, WM_COMMAND, -2, 0) |
||||
|
||||
' Highlite Active Line in Editor |
||||
SendMessage(hEDT, REM_HILITEACTIVELINE, 0, 2) |
||||
|
||||
' Set the comment character |
||||
SendMessage(hEDT, REM_SETCHARTAB, ASC(";"), CT_OPER) |
||||
SendMessage(hEDT, REM_SETCHARTAB, ASC("'"), CT_CMNTCHAR) |
||||
|
||||
|
||||
' Enable Block Guides |
||||
SendMessage(hEDT, REM_SETSTYLEEX, STYLEEX_BLOCKGUIDE,0) |
||||
|
||||
' Set up tabbing; 4 spaces, also convert to spaces on load? |
||||
SendMessage(hEDT, CONVERT_TABTOSPACE, 0, 0) |
||||
SendMessage(hEDT, REM_TABWIDTH, 4, TRUE) |
||||
|
||||
' SendMEssage(RAEdit, REM_CONVERT, CONVERT_UPPERCASE, 0) |
||||
|
||||
SendMessage(hEDT, REM_SETSTYLEEX, STILEEX_STRINGMODEFB, 0) |
||||
|
||||
' Set Colors and Keywords |
||||
RaSetColors(hEDT) |
||||
RaLoadKeyWords(hEDT) |
||||
|
||||
' Set Folding Words, minimal list |
||||
' [$] is a placeholder, [!] disable folding if following word is at eol? |
||||
' Optional Number or define at end of function call specifies the type of styling |
||||
RaSetBlocks(hEDT,"begin events", "end events",0) |
||||
RaSetBlocks(hEDT,"begin dialog", "end dialog",0) |
||||
RaSetBlocks(hEDT,"begin modal dialog", "end dialog",0) |
||||
RaSetBlocks(hEDT,"%private %public Function $","end Function") |
||||
RaSetBlocks(hEDT,"if $! then", "EndIf|End If") |
||||
RaSetBlocks(hEDT,"with $", "end with") |
||||
RaSetBlocks(hEDT,"select case !end select","End Select") |
||||
RaSetBlocks(hEDT,"%private %public sub $","end sub") |
||||
RaSetBlocks(hEDT,"enum", "end enum",0) |
||||
RaSetBlocks(hEDT,"while $ !wend", "wend",0) |
||||
RaSetBlocks(hEDT,"type!as","End Type",0) |
||||
RaSetBlocks(hEDT,"do!loop","Loop",0) |
||||
RaSetBlocks(hEDT,"while $ !wend","wend",0) |
||||
RaSetBlocks(hEDT,"for $ !next","next",0) |
||||
|
||||
SetFocus(hEDT) |
||||
END SUB |
||||
' Sets keyword blocks for folding |
||||
Function RaSetBlocks OPTIONAL (hEDT as HWND, start_block AS STRING, end_block AS STRING, flag AS INTEGER = 0) AS INTEGER |
||||
DIM AS RABLOCKDEF blockdef |
||||
SendMessage(hEDT, REM_SETBLOCKS,0,0) |
||||
WITH blockdef |
||||
.lpszStart = start_block |
||||
.lpszEnd = end_block |
||||
.lpszNot1 = 0 |
||||
.lpszNot2 = 0 |
||||
.flag = flag |
||||
END WITH |
||||
|
||||
FUNCTION = SendMessage(hEDT, REM_ADDBLOCKDEF, 0, &blockdef) |
||||
END FUNCTION |
||||
|
||||
Function RaLoadKeyWords(hEDT AS HWND) As INTEGER |
||||
DIM AS INTEGER r |
||||
DIM AS DWORD rcSize |
||||
|
||||
r = SendMessage(hEDT, REM_SETHILITEWORDS, 0xc48a4c, (LPCSTR)GetResource(RC_KEYWORDS, RT_RCDATA, &rcSize)) |
||||
r = SendMessage(hEDT, REM_SETHILITEWORDS, 0x5f5fce, (LPCSTR)GetResource(RC_WINAPI, RT_RCDATA, &rcSize)) |
||||
|
||||
FUNCTION = r |
||||
End Function |
||||
|
||||
' Configure color scheme for RAEdit object |
||||
SUB RaSetColors(hEDT as HWND) |
||||
DIM AS RACOLOR colors |
||||
|
||||
WITH colors |
||||
.bckcol = QBCOLOR(0) ' Back color |
||||
.txtcol = QBCOLOR(11) ' Text color |
||||
.selbckcol = 0xd89f62 ' Sel back color |
||||
.seltxtcol = SELTXTCLR ' Sel text color |
||||
.cmntcol = QBCOLOR(24) ' Comment color |
||||
.strcol = RGB(0,193,0) ' String color |
||||
.oprcol = 0x5f5fce ' Operator color |
||||
.hicol1 = HILITE1 ' Line hilite 1 [ current line color option 1 ] |
||||
.hicol2 = 0x303030 ' Line hilite 2 [ current line color option 2 ] |
||||
.hicol3 = HILITE3 ' Line hilite 3 [ current line color option 3 ] |
||||
.selbarbck = RGB(20,20,20) ' Line numbers panel background |
||||
.selbarpen = SELBARPEN ' Selection bar pen |
||||
.lnrcol = 0xffffff ' Line numbers color |
||||
.numcol = 0x5f5fce ' Numbers & hex color |
||||
.cmntback = QBCOLOR(0) ' Comment back color |
||||
.strback = QBCOLOR(0) ' String back color |
||||
.numback = QBCOLOR(0) ' Numbers & hex back color |
||||
.oprback = QBCOLOR(0) ' Operator back color |
||||
.changed = CHANGEDCLR ' Line changed indicator |
||||
.changesaved = CHANGESAVEDCLR ' Line saved chane indicator |
||||
END WITH |
||||
|
||||
SendMessage(hEDT, REM_SETCOLOR, 0, &colors) |
||||
END SUB |
||||
|
||||
' Loads file into RAEdit object |
||||
FUNCTION RaLoadFile(edt AS HWND) AS STRING |
||||
DIM RetStr$ |
||||
DIM AS CHARRANGE chrg |
||||
RetStr$ = GetFileName$("Open File...", "BCX Files|*.BAS;*.INC;*.bi;*.bci") |
||||
IF Len(RetStr$) THEN |
||||
EDITLOADFILE(edt, RetStr$) |
||||
chrg.cpMin = 0 |
||||
chrg.cpMax = 0 |
||||
SendMessage(edt, EM_EXSETSEL, 0, &chrg) |
||||
SendMessage(edt, EM_SCROLLCARET, 0, 0) |
||||
SendMessage(edt, REM_HILITEACTIVELINE, 0, 2) |
||||
SetFocus(edt) |
||||
END IF |
||||
FUNCTION = RetStr$ |
||||
END FUNCTION |
||||
|
||||
SUB RaGotoLine(hEDT as HWND, Line AS INTEGER) |
||||
Dim chrg As CHARRANGE |
||||
DIM GotoLine |
||||
|
||||
GotoLine = SendMessage(hEDT, EM_LINEINDEX, Line, 0) |
||||
chrg.cpMin = GotoLine |
||||
chrg.cpMax = GotoLine |
||||
|
||||
SendMessage(hEDT, EM_EXSETSEL, 0, &chrg) |
||||
SendMessage(hEDT, EM_SCROLLCARET, 0, 0) |
||||
END SUB |
||||
|
||||
SUB RaCut(hEDT as HWND) |
||||
SendMessage(hEDT, WM_CUT, 0, 0) |
||||
SetFocus(hEDT) |
||||
END SUB |
||||
|
||||
SUB RaCopy(hEDT as HWND) |
||||
SendMessage(hEDT, WM_COPY, 0, 0) |
||||
SetFocus(hEDT) |
||||
END SUB |
||||
|
||||
SUB RaPaste(hEDT as HWND) |
||||
SendMessage(hEDT, WM_PASTE, 0, 0) |
||||
SetFocus(hEDT) |
||||
END SUB |
||||
|
||||
SUB RaSelectAll(hEDT as HWND) |
||||
SendMessage(hEDT, EM_SETSEL, 0, -1) |
||||
SetFocus(hEDT) |
||||
END SUB |
||||
|
||||
SUB RaUndo(hEDT as HWND) |
||||
SendMessage(hEDT, EM_UNDO, 0, 0) |
||||
SetFocus(hEDT) |
||||
END SUB |
||||
|
||||
SUB RaRedo(hEDT as HWND) |
||||
SendMessage(hEDT, EM_REDO, 0, 0) |
||||
SetFocus(hEDT) |
||||
END SUB |
After Width: | Height: | Size: 690 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 206 B |
After Width: | Height: | Size: 206 B |
After Width: | Height: | Size: 206 B |
After Width: | Height: | Size: 206 B |
After Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,604 @@ |
||||
accelerator |
||||
asm |
||||
bcx$ |
||||
bcx_resource |
||||
bcxversion |
||||
catch |
||||
ccode |
||||
class |
||||
comment |
||||
compiler |
||||
cpp |
||||
define |
||||
dll |
||||
else |
||||
elseif |
||||
endclass |
||||
endif |
||||
endtry |
||||
file$ |
||||
filetest |
||||
fill |
||||
fsstatic |
||||
genfree |
||||
header |
||||
hscroll |
||||
if |
||||
ifdef |
||||
ifndef |
||||
ifnotbcx |
||||
include |
||||
iprint_off |
||||
iprint_on |
||||
lcc$ |
||||
leanandmean |
||||
library |
||||
linker |
||||
mt |
||||
multithread |
||||
namespace |
||||
noini |
||||
nolibmain |
||||
nolibrary |
||||
nomain |
||||
nowin |
||||
onentry |
||||
onexit |
||||
optimizeroff |
||||
optimizeron |
||||
pack |
||||
pelles |
||||
pelles$ |
||||
pp |
||||
pragma |
||||
prj |
||||
prjuse |
||||
project |
||||
rems |
||||
resource |
||||
source |
||||
test |
||||
trace |
||||
try |
||||
turbo |
||||
typedef |
||||
vscroll |
||||
warnings |
||||
warnings_on |
||||
warnings_off |
||||
zap |
||||
abs |
||||
acos |
||||
acosh |
||||
addressof |
||||
alias |
||||
and |
||||
andalso |
||||
ansitowide |
||||
appactivate |
||||
append |
||||
appexename$ |
||||
appexepath$ |
||||
argc |
||||
argv |
||||
argv$ |
||||
as |
||||
asc |
||||
ascending |
||||
asin |
||||
asinh |
||||
atanh |
||||
atn |
||||
auto |
||||
band |
||||
bcx_arc |
||||
bcx_bitmap |
||||
bcx_blackrect |
||||
bcx_bmpbutton |
||||
bcx_bmpheight |
||||
bcx_bmpwidth |
||||
bcx_button |
||||
bcx_checkbox |
||||
bcx_circle |
||||
bcx_colordlg |
||||
bcx_combobox |
||||
bcx_control |
||||
bcx_cursor |
||||
bcx_datepick |
||||
bcx_dialog |
||||
bcx_edit |
||||
bcx_ellipse |
||||
bcx_floodfill |
||||
bcx_fontdlg |
||||
bcx_form |
||||
bcx_get |
||||
bcx_get_text$ |
||||
bcx_get_updown |
||||
bcx_getpixel |
||||
bcx_grayrect |
||||
bcx_group |
||||
bcx_hinstance |
||||
bcx_icon |
||||
bcx_input |
||||
bcx_label |
||||
bcx_line |
||||
bcx_lineto |
||||
bcx_listbox |
||||
bcx_listview |
||||
bcx_loadbmp |
||||
bcx_loadimage |
||||
bcx_mdialog |
||||
bcx_mdichild |
||||
bcx_mdiclass |
||||
bcx_mdiclient |
||||
bcx_olepicture |
||||
bcx_polybezier |
||||
bcx_polygon |
||||
bcx_polyline |
||||
bcx_popconsolesize |
||||
bcx_preset |
||||
bcx_print |
||||
bcx_progressbar |
||||
bcx_pset |
||||
bcx_pushconsolesize |
||||
bcx_put |
||||
bcx_radio |
||||
bcx_rectangle |
||||
bcx_repeat |
||||
bcx_resize |
||||
bcx_resource |
||||
bcx_richedit |
||||
bcx_roundrect |
||||
bcx_scalex |
||||
bcx_scaley |
||||
bcx_set_edit_color |
||||
bcx_set_font |
||||
bcx_set_form_color |
||||
bcx_set_label_color |
||||
bcx_set_text |
||||
bcx_setclientsize |
||||
bcx_setcolor |
||||
bcx_setconsolesize |
||||
bcx_setsplitpos |
||||
bcx_slider |
||||
bcx_splitter |
||||
bcx_status |
||||
bcx_str |
||||
bcx_stricmp |
||||
bcx_tab |
||||
bcx_thread |
||||
bcx_threadend |
||||
bcx_threadkill |
||||
bcx_threadresume |
||||
bcx_threadsuspend |
||||
bcx_threadwait |
||||
bcx_tile |
||||
bcx_toolbar |
||||
bcx_treeview |
||||
bcx_updown |
||||
bcx_whiterect |
||||
bcxfont |
||||
bcxlib |
||||
bcxpath$ |
||||
bcxsplitpath$ |
||||
begin |
||||
bel$ |
||||
bff$ |
||||
bin$ |
||||
bin2dec |
||||
binary |
||||
bnot |
||||
bool$ |
||||
bor |
||||
bs$ |
||||
bstr |
||||
by |
||||
byref |
||||
byte_at |
||||
c_declare |
||||
call |
||||
callback |
||||
case |
||||
cbctl |
||||
cbctlmsg |
||||
cbhndl |
||||
cbhwnd |
||||
cblparam |
||||
cbmsg |
||||
cbool |
||||
cbwparam |
||||
cdbl |
||||
center |
||||
chdir |
||||
chdrive |
||||
chr$ |
||||
cint |
||||
class |
||||
clear |
||||
clipboard_gettext$ |
||||
clipboard_gettextsize |
||||
clipboard_reset |
||||
clipboard_settext |
||||
clng |
||||
close |
||||
closedialog |
||||
cls |
||||
color |
||||
color_bg |
||||
color_fg |
||||
com |
||||
comboboxloadfile |
||||
command$ |
||||
comset |
||||
concat |
||||
console |
||||
const |
||||
containedin |
||||
control |
||||
copyfile |
||||
cos |
||||
cosh |
||||
cosl |
||||
cpad$ |
||||
cr$ |
||||
createregint |
||||
createregstring |
||||
crlf$ |
||||
csng |
||||
csrlin |
||||
curdir$ |
||||
cursorx |
||||
cursory |
||||
cvd |
||||
cvi |
||||
cvl |
||||
cvs |
||||
data |
||||
data$ |
||||
date$ |
||||
declare |
||||
decr |
||||
del$ |
||||
delay |
||||
delete |
||||
deleteregkey |
||||
descending |
||||
dialog |
||||
dim |
||||
do |
||||
doevents |
||||
double |
||||
download |
||||
dpi |
||||
dq$ |
||||
drawtransbmp |
||||
dsplit |
||||
dynamic |
||||
each |
||||
editloadfile |
||||
ejectpage |
||||
else |
||||
elseif |
||||
enc$ |
||||
end |
||||
endif |
||||
enum |
||||
environ$ |
||||
eof |
||||
eof$ |
||||
esc$ |
||||
events |
||||
exist |
||||
exit |
||||
exp |
||||
export |
||||
extern |
||||
extract$ |
||||
false |
||||
ff$ |
||||
filelocked |
||||
fill |
||||
fillarray |
||||
findfirst$ |
||||
findfirstinstance |
||||
findintype |
||||
findnext$ |
||||
finput |
||||
fix |
||||
flush |
||||
for |
||||
for_each |
||||
formload |
||||
fprint |
||||
frac |
||||
free |
||||
freefile |
||||
freeglobals |
||||
function |
||||
fwrite |
||||
genfree$ |
||||
get$ |
||||
getattr |
||||
getbmp |
||||
getbvalue |
||||
getc |
||||
getdrive |
||||
getfilename$ |
||||
getgvalue |
||||
getresource |
||||
getrvalue |
||||
gettextsize |
||||
global |
||||
gosub |
||||
goto |
||||
gui |
||||
hex$ |
||||
hex2dec |
||||
hide |
||||
hiword |
||||
hypot |
||||
icompare |
||||
icon |
||||
if |
||||
iif |
||||
iif$ |
||||
imod |
||||
in |
||||
inchr |
||||
incr |
||||
infobox |
||||
inkey |
||||
inkey$ |
||||
inp |
||||
input |
||||
inputbox$ |
||||
inputbuffer |
||||
inputnumber |
||||
inpw |
||||
ins$ |
||||
instat |
||||
instr |
||||
instrrev |
||||
int |
||||
integer |
||||
iremove |
||||
iremove$ |
||||
ireplace |
||||
ireplace$ |
||||
is |
||||
isfalse |
||||
isfile |
||||
isfolder |
||||
ishidden |
||||
isodate$ |
||||
isptr |
||||
isreadonly |
||||
issystem |
||||
istrue |
||||
iszero |
||||
iterate |
||||
join$ |
||||
keypress |
||||
kill |
||||
lcase$ |
||||
lccpath$ |
||||
ldouble |
||||
left$ |
||||
leftstr |
||||
len |
||||
lf$ |
||||
lib |
||||
like |
||||
line |
||||
listboxloadfile |
||||
load_dll |
||||
loadfile$ |
||||
loadlibrary |
||||
loc |
||||
local |
||||
locate |
||||
lof |
||||
log |
||||
log10 |
||||
long |
||||
longestline |
||||
loop |
||||
loword |
||||
lpad$ |
||||
lprint |
||||
ltrim$ |
||||
macro |
||||
main |
||||
max |
||||
mcase$ |
||||
mdigui |
||||
memsize |
||||
method |
||||
mid$ |
||||
min |
||||
mkd$ |
||||
mkdir |
||||
mki$ |
||||
mkl$ |
||||
mks$ |
||||
mod |
||||
modal |
||||
modstyle |
||||
msgbox |
||||
nest |
||||
new |
||||
next |
||||
next_each |
||||
nextlinelen |
||||
not |
||||
nothing |
||||
notzero |
||||
now$ |
||||
nul$ |
||||
object |
||||
object |
||||
oct$ |
||||
on |
||||
open |
||||
optional |
||||
or |
||||
or |
||||
osversion |
||||
outp |
||||
output |
||||
outpw |
||||
overloaded |
||||
panel |
||||
pause |
||||
peek$ |
||||
pellespath$ |
||||
pixels |
||||
playwav |
||||
poke |
||||
popcolors |
||||
pos |
||||
pow |
||||
powl |
||||
preserve |
||||
print |
||||
printer |
||||
private |
||||
program |
||||
property |
||||
propget |
||||
propset |
||||
ptr |
||||
pushcolors |
||||
put$ |
||||
qbcolor |
||||
qsort |
||||
qsortidx |
||||
randomize |
||||
raw |
||||
read |
||||
read$ |
||||
rec |
||||
reccount |
||||
reclen |
||||
record |
||||
redim |
||||
refresh |
||||
regint |
||||
register |
||||
regstring$ |
||||
rem |
||||
remain$ |
||||
remove |
||||
remove$ |
||||
rename |
||||
repeat |
||||
repeat$ |
||||
replace |
||||
replace$ |
||||
retain$ |
||||
return |
||||
reverse$ |
||||
rewind |
||||
rgb |
||||
right$ |
||||
rightstr |
||||
rmdir |
||||
rnd |
||||
round |
||||
rpad$ |
||||
rtrim$ |
||||
run |
||||
savebmp |
||||
scanerror |
||||
screen |
||||
searchpath$ |
||||
seek |
||||
select |
||||
set |
||||
set_bcx_bitmap |
||||
set_bcx_bitmap2 |
||||
set_bcx_bmpbutton |
||||
set_bcx_icon |
||||
setattr |
||||
setdialogscale |
||||
seteof |
||||
setformcolor |
||||
setwindowrtftext |
||||
sgn |
||||
shared |
||||
sharedset |
||||
shell |
||||
show |
||||
sin |
||||
single |
||||
sinh |
||||
sinl |
||||
sizeof |
||||
sleep |
||||
sound |
||||
space$ |
||||
spc$ |
||||
split |
||||
sprint |
||||
sqr |
||||
sqrt |
||||
sqrtl |
||||
static |
||||
stdcall |
||||
step |
||||
str$ |
||||
strarray |
||||
strim$ |
||||
string |
||||
string$ |
||||
strptr |
||||
strtoken$ |
||||
sub |
||||
swap |
||||
sysdir$ |
||||
sysstr |
||||
tab$ |
||||
tally |
||||
tan |
||||
tanh |
||||
tanl |
||||
tempdir$ |
||||
tempfilename$ |
||||
textmode |
||||
then |
||||
this |
||||
time$ |
||||
timer |
||||
to |
||||
trim$ |
||||
true |
||||
type |
||||
ubound |
||||
ucase$ |
||||
uncom |
||||
union |
||||
until |
||||
unwrap$ |
||||
using$ |
||||
val |
||||
vbs_addcode |
||||
vbs_eval_num |
||||
vbs_eval_str$ |
||||
vbs_reset |
||||
vbs_run_script |
||||
vbs_start |
||||
vbs_stop |
||||
vchr$ |
||||
verify |
||||
vt$ |
||||
wend |
||||
while |
||||
widetoansi$ |
||||
windir$ |
||||
with |
||||
wrap$ |
||||
write |
||||
xfor |
||||
xnext |
||||
xor |
||||
|