richedit

package
v0.0.0-...-fe889e0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2021 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Rendered for windows/amd64

Index

Constants

View Source
const (
	// NOTE:  MSFTEDIT.DLL only registers MSFTEDIT_CLASS.  If an application wants
	// to use the following RichEdit classes, it needs to load riched20.dll.
	// Otherwise, CreateWindow with RICHEDIT_CLASS will fail.
	// This also applies to any dialog that uses RICHEDIT_CLASS
	// RichEdit 2.0 Window Class
	MSFTEDIT_CLASS = "RICHEDIT50W"
	RICHEDIT_CLASS = "RichEdit20W"
)
View Source
const (
	EM_CANPASTE           = user32.WM_USER + 50
	EM_DISPLAYBAND        = user32.WM_USER + 51
	EM_EXGETSEL           = user32.WM_USER + 52
	EM_EXLIMITTEXT        = user32.WM_USER + 53
	EM_EXLINEFROMCHAR     = user32.WM_USER + 54
	EM_EXSETSEL           = user32.WM_USER + 55
	EM_FINDTEXT           = user32.WM_USER + 56
	EM_FORMATRANGE        = user32.WM_USER + 57
	EM_GETCHARFORMAT      = user32.WM_USER + 58
	EM_GETEVENTMASK       = user32.WM_USER + 59
	EM_GETOLEINTERFACE    = user32.WM_USER + 60
	EM_GETPARAFORMAT      = user32.WM_USER + 61
	EM_GETSELTEXT         = user32.WM_USER + 62
	EM_HIDESELECTION      = user32.WM_USER + 63
	EM_PASTESPECIAL       = user32.WM_USER + 64
	EM_REQUESTRESIZE      = user32.WM_USER + 65
	EM_SELECTIONTYPE      = user32.WM_USER + 66
	EM_SETBKGNDCOLOR      = user32.WM_USER + 67
	EM_SETCHARFORMAT      = user32.WM_USER + 68
	EM_SETEVENTMASK       = user32.WM_USER + 69
	EM_SETOLECALLBACK     = user32.WM_USER + 70
	EM_SETPARAFORMAT      = user32.WM_USER + 71
	EM_SETTARGETDEVICE    = user32.WM_USER + 72
	EM_STREAMIN           = user32.WM_USER + 73
	EM_STREAMOUT          = user32.WM_USER + 74
	EM_GETTEXTRANGE       = user32.WM_USER + 75
	EM_FINDWORDBREAK      = user32.WM_USER + 76
	EM_SETOPTIONS         = user32.WM_USER + 77
	EM_GETOPTIONS         = user32.WM_USER + 78
	EM_FINDTEXTEX         = user32.WM_USER + 79
	EM_GETWORDBREAKPROCEX = user32.WM_USER + 80
	EM_SETWORDBREAKPROCEX = user32.WM_USER + 81
)

RichEdit messages

View Source
const (
	EM_SETUNDOLIMIT    = user32.WM_USER + 82
	EM_REDO            = user32.WM_USER + 84
	EM_CANREDO         = user32.WM_USER + 85
	EM_GETUNDONAME     = user32.WM_USER + 86
	EM_GETREDONAME     = user32.WM_USER + 87
	EM_STOPGROUPTYPING = user32.WM_USER + 88

	EM_SETTEXTMODE = user32.WM_USER + 89
	EM_GETTEXTMODE = user32.WM_USER + 90
)

RichEdit 2.0 messages

View Source
const (
	TM_PLAINTEXT       TEXTMODE = 1
	TM_RICHTEXT                 = 2 // Default behavior
	TM_SINGLELEVELUNDO          = 4
	TM_MULTILEVELUNDO           = 8 // Default behavior
	TM_SINGLECODEPAGE           = 16
	TM_MULTICODEPAGE            = 32 // Default behavior
)
View Source
const (
	AURL_ENABLEURL          = 1
	AURL_ENABLEEMAILADDR    = 2
	AURL_ENABLETELNO        = 4
	AURL_ENABLEEAURLS       = 8
	AURL_ENABLEDRIVELETTERS = 16
	AURL_DISABLEMIXEDLGC    = 32 // Disable mixed Latin Greek Cyrillic IDNs
)

RichEdit 8.0 messages

View Source
const (
	EM_GETAUTOURLDETECT = user32.WM_USER + 92
	EM_SETPALETTE       = user32.WM_USER + 93
	EM_GETTEXTEX        = user32.WM_USER + 94
	EM_GETTEXTLENGTHEX  = user32.WM_USER + 95
	EM_SHOWSCROLLBAR    = user32.WM_USER + 96
	EM_SETTEXTEX        = user32.WM_USER + 97
)
View Source
const (
	EM_SETPUNCTUATION  = user32.WM_USER + 100
	EM_GETPUNCTUATION  = user32.WM_USER + 101
	EM_SETWORDWRAPMODE = user32.WM_USER + 102
	EM_GETWORDWRAPMODE = user32.WM_USER + 103
	EM_SETIMECOLOR     = user32.WM_USER + 104
	EM_GETIMECOLOR     = user32.WM_USER + 105
	EM_SETIMEOPTIONS   = user32.WM_USER + 106
	EM_GETIMEOPTIONS   = user32.WM_USER + 107
	EM_CONVPOSITION    = user32.WM_USER + 108
)

East Asia specific messages

View Source
const (
	EM_SETLANGOPTIONS = user32.WM_USER + 120
	EM_GETLANGOPTIONS = user32.WM_USER + 121
	EM_GETIMECOMPMODE = user32.WM_USER + 122

	EM_FINDTEXTW   = user32.WM_USER + 123
	EM_FINDTEXTEXW = user32.WM_USER + 124
)
View Source
const (
	EM_RECONVERSION   = user32.WM_USER + 125
	EM_SETIMEMODEBIAS = user32.WM_USER + 126
	EM_GETIMEMODEBIAS = user32.WM_USER + 127
)

RE3.0 FE messages

View Source
const (
	EM_SETBIDIOPTIONS = user32.WM_USER + 200
	EM_GETBIDIOPTIONS = user32.WM_USER + 201

	EM_SETTYPOGRAPHYOPTIONS = user32.WM_USER + 202
	EM_GETTYPOGRAPHYOPTIONS = user32.WM_USER + 203
)

BiDi specific messages

View Source
const (
	EM_SETEDITSTYLE = user32.WM_USER + 204
	EM_GETEDITSTYLE = user32.WM_USER + 205
)

Extended edit style specific messages

View Source
const (
	SES_EMULATESYSEDIT    = 1
	SES_BEEPONMAXTEXT     = 2
	SES_EXTENDBACKCOLOR   = 4
	SES_MAPCPS            = 8 // Obsolete (never used)
	SES_HYPERLINKTOOLTIPS = 8
	SES_EMULATE10         = 16 // Obsolete (never used)
	SES_DEFAULTLATINLIGA  = 16
	SES_USECRLF           = 32 // Obsolete (never used)
	SES_NOFOCUSLINKNOTIFY = 32
	SES_USEAIMM           = 64
	SES_NOIME             = 128

	SES_ALLOWBEEPS         = 256
	SES_UPPERCASE          = 512
	SES_LOWERCASE          = 1024
	SES_NOINPUTSEQUENCECHK = 2048
	SES_BIDI               = 4096
	SES_SCROLLONKILLFOCUS  = 8192
	SES_XLTCRCRLFTOCR      = 16384
	SES_DRAFTMODE          = 32768

	SES_USECTF               = 0x00010000
	SES_HIDEGRIDLINES        = 0x00020000
	SES_USEATFONT            = 0x00040000
	SES_CUSTOMLOOK           = 0x00080000
	SES_LBSCROLLNOTIFY       = 0x00100000
	SES_CTFALLOWEMBED        = 0x00200000
	SES_CTFALLOWSMARTTAG     = 0x00400000
	SES_CTFALLOWPROOFING     = 0x00800000
	SES_LOGICALCARET         = 0x01000000
	SES_WORDDRAGDROP         = 0x02000000
	SES_SMARTDRAGDROP        = 0x04000000
	SES_MULTISELECT          = 0x08000000
	SES_CTFNOLOCK            = 0x10000000
	SES_NOEALINEHEIGHTADJUST = 0x20000000
	SES_MAX                  = 0x20000000
)

Extended edit style masks

View Source
const (
	IMF_AUTOKEYBOARD        = 0x0001
	IMF_AUTOFONT            = 0x0002
	IMF_IMECANCELCOMPLETE   = 0x0004 // High completes comp string when aborting, low cancels
	IMF_IMEALWAYSSENDNOTIFY = 0x0008
	IMF_AUTOFONTSIZEADJUST  = 0x0010
	IMF_UIFONTS             = 0x0020
	IMF_NOIMPLICITLANG      = 0x0040
	IMF_DUALFONT            = 0x0080
	IMF_NOKBDLIDFIXUP       = 0x0200
	IMF_NORTFFONTSUBSTITUTE = 0x0400
	IMF_SPELLCHECKING       = 0x0800
	IMF_TKBPREDICTION       = 0x1000
	IMF_IMEUIINTEGRATION    = 0x2000
)

Options for EM_SETLANGOPTIONS and EM_GETLANGOPTIONS

View Source
const (
	ICM_NOTOPEN    = 0x0000
	ICM_LEVEL3     = 0x0001
	ICM_LEVEL2     = 0x0002
	ICM_LEVEL2_5   = 0x0003
	ICM_LEVEL2_SUI = 0x0004
	ICM_CTF        = 0x0005
)

Values for EM_GETIMECOMPMODE

View Source
const (
	TO_ADVANCEDTYPOGRAPHY   = 0x0001
	TO_SIMPLELINEBREAK      = 0x0002
	TO_DISABLECUSTOMTEXTOUT = 0x0004
	TO_ADVANCEDLAYOUT       = 0x0008
)

Options for EM_SETTYPOGRAPHYOPTIONS

View Source
const (
	// Outline mode message
	EM_OUTLINE = user32.WM_USER + 220

	// Message for getting and restoring scroll pos
	EM_GETSCROLLPOS = user32.WM_USER + 221
	EM_SETSCROLLPOS = user32.WM_USER + 222

	// Change fontsize in current selection by wParam
	EM_SETFONTSIZE = user32.WM_USER + 223
	EM_GETZOOM     = user32.WM_USER + 224
	EM_SETZOOM     = user32.WM_USER + 225
	EM_GETVIEWKIND = user32.WM_USER + 226
	EM_SETVIEWKIND = user32.WM_USER + 227
)

Pegasus outline mode messages (RE 3.0)

View Source
const (
	EM_GETPAGE          = user32.WM_USER + 228
	EM_SETPAGE          = user32.WM_USER + 229
	EM_GETHYPHENATEINFO = user32.WM_USER + 230
	EM_SETHYPHENATEINFO = user32.WM_USER + 231

	EM_GETPAGEROTATE    = user32.WM_USER + 235
	EM_SETPAGEROTATE    = user32.WM_USER + 236
	EM_GETCTFMODEBIAS   = user32.WM_USER + 237
	EM_SETCTFMODEBIAS   = user32.WM_USER + 238
	EM_GETCTFOPENSTATUS = user32.WM_USER + 240
	EM_SETCTFOPENSTATUS = user32.WM_USER + 241
	EM_GETIMECOMPTEXT   = user32.WM_USER + 242
	EM_ISIME            = user32.WM_USER + 243
	EM_GETIMEPROPERTY   = user32.WM_USER + 244
)

RichEdit 4.0 messages

View Source
const (
	EM_GETQUERYRTFOBJ = user32.WM_USER + 269
	EM_SETQUERYRTFOBJ = user32.WM_USER + 270
)

These messages control what rich edit does when it comes accross OLE objects during RTF stream in. Normally rich edit queries the client application only after OleLoad has been called. With these messages it is possible to set the rich edit control to a mode where it will query the client application before OleLoad is called

View Source
const (
	EPR_0   = 0 // Text flows left to right and top to bottom
	EPR_270 = 1 // Text flows top to bottom and right to left
	EPR_180 = 2 // Text flows right to left and bottom to top
	EPR_90  = 3 // Text flows bottom to top and left to right
	EPR_SE  = 5 // Text flows top to bottom and left to right (Mongolian text layout)
)

EM_SETPAGEROTATE wparam values

View Source
const (
	CTFMODEBIAS_DEFAULT               = 0x0000
	CTFMODEBIAS_FILENAME              = 0x0001
	CTFMODEBIAS_NAME                  = 0x0002
	CTFMODEBIAS_READING               = 0x0003
	CTFMODEBIAS_DATETIME              = 0x0004
	CTFMODEBIAS_CONVERSATION          = 0x0005
	CTFMODEBIAS_NUMERIC               = 0x0006
	CTFMODEBIAS_HIRAGANA              = 0x0007
	CTFMODEBIAS_KATAKANA              = 0x0008
	CTFMODEBIAS_HANGUL                = 0x0009
	CTFMODEBIAS_HALFWIDTHKATAKANA     = 0x000A
	CTFMODEBIAS_FULLWIDTHALPHANUMERIC = 0x000B
	CTFMODEBIAS_HALFWIDTHALPHANUMERIC = 0x000C
)

EM_SETCTFMODEBIAS wparam values

View Source
const (
	IMF_SMODE_PLAURALCLAUSE = 0x0001
	IMF_SMODE_NONE          = 0x0002
)

EM_SETIMEMODEBIAS lparam values

View Source
const (
	// Enter normal mode,  lparam ignored
	EMO_EXIT = 0

	// Enter outline mode, lparam ignored
	EMO_ENTER = 1

	// LOWORD(lparam) == 0 ==>
	//	promote  to body-text
	// LOWORD(lparam) != 0 ==>
	//	promote/demote current selection
	//	by indicated number of levels
	EMO_PROMOTE = 2

	// HIWORD(lparam) = EMO_EXPANDSELECTION
	//	-> expands selection to level
	//	indicated in LOWORD(lparam)
	//	LOWORD(lparam) = -1/+1 corresponds
	//	to collapse/expand button presses
	//	in winword (other values are
	//	equivalent to having pressed these
	//	buttons more than once)
	//	HIWORD(lparam) = EMO_EXPANDDOCUMENT
	//	-> expands whole document to
	//	indicated level
	EMO_EXPAND = 3

	// LOWORD(lparam) != 0 -> move current
	//	selection up/down by indicated amount
	EMO_MOVESELECTION = 4

	// Returns VM_NORMAL or VM_OUTLINE
	EMO_GETVIEWMODE = 5
)

Outline mode wparam values

View Source
const (
	EMO_EXPANDSELECTION = 0
	EMO_EXPANDDOCUMENT  = 1
)

EMO_EXPAND options

View Source
const (
	// Agrees with RTF \viewkindN
	VM_NORMAL = 4

	VM_OUTLINE = 2

	// Screen page view (not print layout)
	VM_PAGE = 9
)
View Source
const (
	EM_GETAUTOCORRECTPROC  = user32.WM_USER + 233
	EM_SETAUTOCORRECTPROC  = user32.WM_USER + 234
	EM_CALLAUTOCORRECTPROC = user32.WM_USER + 255
)
View Source
const (
	ATP_NOCHANGE       = 0
	ATP_CHANGE         = 1
	ATP_NODELIMITER    = 2
	ATP_REPLACEALLTEXT = 4
)
View Source
const (
	EM_GETTABLEPARMS = user32.WM_USER + 265

	EM_SETEDITSTYLEEX = user32.WM_USER + 275
	EM_GETEDITSTYLEEX = user32.WM_USER + 276
)
View Source
const (
	SES_EX_NOTABLE            = 0x00000004
	SES_EX_NOMATH             = 0x00000040
	SES_EX_HANDLEFRIENDLYURL  = 0x00000100
	SES_EX_NOTHEMING          = 0x00080000
	SES_EX_NOACETATESELECTION = 0x00100000
	SES_EX_USESINGLELINE      = 0x00200000
	SES_EX_MULTITOUCH         = 0x08000000 // Only works under Win8+
	SES_EX_HIDETEMPFORMAT     = 0x10000000
	SES_EX_USEMOUSEWPARAM     = 0x20000000 // Use wParam when handling WM_MOUSEMOVE message and do not call GetAsyncKeyState
)

wparam values for EM_SETEDITSTYLEEX/EM_GETEDITSTYLEEX All unused bits are reserved.

View Source
const (
	EM_GETSTORYTYPE = user32.WM_USER + 290
	EM_SETSTORYTYPE = user32.WM_USER + 291

	EM_GETELLIPSISMODE = user32.WM_USER + 305
	EM_SETELLIPSISMODE = user32.WM_USER + 306
)
View Source
const (
	ELLIPSIS_MASK = 0x00000003 // all meaningful bits
	ELLIPSIS_NONE = 0x00000000 // ellipsis disabled
	ELLIPSIS_END  = 0x00000001 // ellipsis at the end (forced break)
	ELLIPSIS_WORD = 0x00000003 // ellipsis at the end (word break)
)

uint32: *lparam for EM_GETELLIPSISMODE, lparam for EM_SETELLIPSISMODE

View Source
const (
	EM_SETTABLEPARMS = user32.WM_USER + 307

	EM_GETTOUCHOPTIONS  = user32.WM_USER + 310
	EM_SETTOUCHOPTIONS  = user32.WM_USER + 311
	EM_INSERTIMAGE      = user32.WM_USER + 314
	EM_SETUIANAME       = user32.WM_USER + 320
	EM_GETELLIPSISSTATE = user32.WM_USER + 322
)
View Source
const (
	RTO_SHOWHANDLES    = 1
	RTO_DISABLEHANDLES = 2
	RTO_READINGMODE    = 3
)

Values for EM_SETTOUCHOPTIONS/EM_GETTOUCHOPTIONS

View Source
const (
	EN_MSGFILTER         = 0x0700
	EN_REQUESTRESIZE     = 0x0701
	EN_SELCHANGE         = 0x0702
	EN_DROPFILES         = 0x0703
	EN_PROTECTED         = 0x0704
	EN_CORRECTTEXT       = 0x0705 // PenWin specific
	EN_STOPNOUNDO        = 0x0706
	EN_IMECHANGE         = 0x0707 // East Asia specific
	EN_SAVECLIPBOARD     = 0x0708
	EN_OLEOPFAILED       = 0x0709
	EN_OBJECTPOSITIONS   = 0x070a
	EN_LINK              = 0x070b
	EN_DRAGDROPDONE      = 0x070c
	EN_PARAGRAPHEXPANDED = 0x070d
	EN_PAGECHANGE        = 0x070e
	EN_LOWFIRTF          = 0x070f
	EN_ALIGNLTR          = 0x0710 // BiDi specific notification
	EN_ALIGNRTL          = 0x0711 // BiDi specific notification
	EN_CLIPFORMAT        = 0x0712
	EN_STARTCOMPOSITION  = 0x0713
	EN_ENDCOMPOSITION    = 0x0714
)

New notifications

View Source
const (
	ECN_ENDCOMPOSITION = 0x0001
	ECN_NEWTEXT        = 0x0002
)

Constants for ENDCOMPOSITIONNOTIFY dwCode

View Source
const (
	ENM_NONE              = 0x00000000
	ENM_CHANGE            = 0x00000001
	ENM_UPDATE            = 0x00000002
	ENM_SCROLL            = 0x00000004
	ENM_SCROLLEVENTS      = 0x00000008
	ENM_DRAGDROPDONE      = 0x00000010
	ENM_PARAGRAPHEXPANDED = 0x00000020
	ENM_PAGECHANGE        = 0x00000040
	ENM_CLIPFORMAT        = 0x00000080
	ENM_KEYEVENTS         = 0x00010000
	ENM_MOUSEEVENTS       = 0x00020000
	ENM_REQUESTRESIZE     = 0x00040000
	ENM_SELCHANGE         = 0x00080000
	ENM_DROPFILES         = 0x00100000
	ENM_PROTECTED         = 0x00200000
	ENM_CORRECTTEXT       = 0x00400000 // PenWin specific
	ENM_IMECHANGE         = 0x00800000 // Used by RE1.0 compatibility
	ENM_LANGCHANGE        = 0x01000000
	ENM_OBJECTPOSITIONS   = 0x02000000
	ENM_LINK              = 0x04000000
	ENM_LOWFIRTF          = 0x08000000
	ENM_STARTCOMPOSITION  = 0x10000000
	ENM_ENDCOMPOSITION    = 0x20000000
	ENM_GROUPTYPINGCHANGE = 0x40000000
	ENM_HIDELINKTOOLTIP   = 0x80000000
)

Event notification masks

View Source
const (
	ES_SAVESEL         = 0x00008000
	ES_SUNKEN          = 0x00004000
	ES_DISABLENOSCROLL = 0x00002000
	ES_SELECTIONBAR    = 0x01000000 // Same as WS_MAXIMIZE, but that doesn't make sense so we re-use the value
	ES_NOOLEDRAGDROP   = 0x00000008 // Same as ES_UPPERCASE, but re-used to completely disable OLE drag'n'drop
)

New edit control styles

View Source
const (
	ES_VERTICAL = 0x00400000 // Not supported in RE 2.0/3.0
	ES_NOIME    = 0x00080000
	ES_SELFIME  = 0x00040000
)

These flags are used in FE Windows

View Source
const (
	ECO_AUTOWORDSELECTION = 0x00000001
	ECO_AUTOVSCROLL       = 0x00000040
	ECO_AUTOHSCROLL       = 0x00000080
	ECO_NOHIDESEL         = 0x00000100
	ECO_READONLY          = 0x00000800
	ECO_WANTRETURN        = 0x00001000
	ECO_SAVESEL           = 0x00008000
	ECO_SELECTIONBAR      = 0x01000000
	ECO_VERTICAL          = 0x00400000 // FE specific
)

Edit control options

View Source
const (
	ECOOP_SET = 0x0001
	ECOOP_OR  = 0x0002
	ECOOP_AND = 0x0003
	ECOOP_XOR = 0x0004
)

ECO operations

View Source
const (
	WB_CLASSIFY      = 3
	WB_MOVEWORDLEFT  = 4
	WB_MOVEWORDRIGHT = 5
	WB_LEFTBREAK     = 6
	WB_RIGHTBREAK    = 7
)

New word break function actions

View Source
const (
	WB_MOVEWORDPREV = 4
	WB_MOVEWORDNEXT = 5
	WB_PREVBREAK    = 6
	WB_NEXTBREAK    = 7

	PC_FOLLOWING  = 1
	PC_LEADING    = 2
	PC_OVERFLOW   = 3
	PC_DELIMITER  = 4
	WBF_WORDWRAP  = 0x010
	WBF_WORDBREAK = 0x020
	WBF_OVERFLOW  = 0x040
	WBF_LEVEL1    = 0x080
	WBF_LEVEL2    = 0x100
	WBF_CUSTOM    = 0x200
)

East Asia specific flags

View Source
const (
	IMF_FORCENONE         = 0x0001
	IMF_FORCEENABLE       = 0x0002
	IMF_FORCEDISABLE      = 0x0004
	IMF_CLOSESTATUSWINDOW = 0x0008
	IMF_VERTICAL          = 0x0020
	IMF_FORCEACTIVE       = 0x0040
	IMF_FORCEINACTIVE     = 0x0080
	IMF_FORCEREMEMBER     = 0x0100
	IMF_MULTIPLEEDIT      = 0x0400
)

East Asia specific flags

View Source
const (
	WBF_CLASS      byte = 0x0F
	WBF_ISWHITE    byte = 0x10
	WBF_BREAKLINE  byte = 0x20
	WBF_BREAKAFTER byte = 0x40
)

Word break flags (used with WB_CLASSIFY)

View Source
const (
	CFM_BOLD      = 0x00000001
	CFM_ITALIC    = 0x00000002
	CFM_UNDERLINE = 0x00000004
	CFM_STRIKEOUT = 0x00000008
	CFM_PROTECTED = 0x00000010
	CFM_LINK      = 0x00000020 // Exchange hyperlink extension
	CFM_SIZE      = 0x80000000
	CFM_COLOR     = 0x40000000
	CFM_FACE      = 0x20000000
	CFM_OFFSET    = 0x10000000
	CFM_CHARSET   = 0x08000000
)

CHARFORMAT masks

View Source
const (
	CFE_BOLD      = 0x00000001
	CFE_ITALIC    = 0x00000002
	CFE_UNDERLINE = 0x00000004
	CFE_STRIKEOUT = 0x00000008
	CFE_PROTECTED = 0x00000010
	CFE_LINK      = 0x00000020
	CFE_AUTOCOLOR = 0x40000000 // NOTE: this corresponds to CFM_COLOR, which controls it

	// Masks and effects defined for CHARFORMAT2 -- an (*) indicates that the data is stored by RichEdit 2.0/3.0, but not displayed
	CFM_SMALLCAPS = 0x00000040 // (*)
	CFM_ALLCAPS   = 0x00000080 // Displayed by 3.0
	CFM_HIDDEN    = 0x00000100 // Hidden by 3.0
	CFM_OUTLINE   = 0x00000200 // (*)
	CFM_SHADOW    = 0x00000400 // (*)
	CFM_EMBOSS    = 0x00000800 // (*)
	CFM_IMPRINT   = 0x00001000 // (*)
	CFM_DISABLED  = 0x00002000
	CFM_REVISED   = 0x00004000

	CFM_REVAUTHOR     = 0x00008000
	CFE_SUBSCRIPT     = 0x00010000 // Superscript and subscript are
	CFE_SUPERSCRIPT   = 0x00020000 //	mutually exclusive
	CFM_ANIMATION     = 0x00040000 // (*)
	CFM_STYLE         = 0x00080000 // (*)
	CFM_KERNING       = 0x00100000
	CFM_SPACING       = 0x00200000 // Displayed by 3.0
	CFM_WEIGHT        = 0x00400000
	CFM_UNDERLINETYPE = 0x00800000 // Many displayed by 3.0
	CFM_COOKIE        = 0x01000000 // RE 6.0
	CFM_LCID          = 0x02000000
	CFM_BACKCOLOR     = 0x04000000 // Higher mask bits defined above

	CFM_SUBSCRIPT   = (CFE_SUBSCRIPT | CFE_SUPERSCRIPT)
	CFM_SUPERSCRIPT = CFM_SUBSCRIPT

	// CHARFORMAT "ALL" masks
	CFM_EFFECTS  = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK
	CFM_ALL      = CFM_EFFECTS | CFM_SIZE | CFM_FACE | CFM_OFFSET | CFM_CHARSET
	CFM_EFFECTS2 = CFM_EFFECTS | CFM_DISABLED | CFM_SMALLCAPS | CFM_ALLCAPS | CFM_HIDDEN | CFM_OUTLINE | CFM_SHADOW | CFM_EMBOSS | CFM_IMPRINT | CFM_REVISED | CFM_SUBSCRIPT | CFM_SUPERSCRIPT | CFM_BACKCOLOR
	CFM_ALL2     = CFM_ALL | CFM_EFFECTS2 | CFM_BACKCOLOR | CFM_LCID | CFM_UNDERLINETYPE | CFM_WEIGHT | CFM_REVAUTHOR | CFM_SPACING | CFM_KERNING | CFM_STYLE | CFM_ANIMATION | CFM_COOKIE

	CFE_SMALLCAPS = CFM_SMALLCAPS
	CFE_ALLCAPS   = CFM_ALLCAPS
	CFE_HIDDEN    = CFM_HIDDEN
	CFE_OUTLINE   = CFM_OUTLINE
	CFE_SHADOW    = CFM_SHADOW
	CFE_EMBOSS    = CFM_EMBOSS
	CFE_IMPRINT   = CFM_IMPRINT
	CFE_DISABLED  = CFM_DISABLED
	CFE_REVISED   = CFM_REVISED

	// CFE_AUTOCOLOR and CFE_AUTOBACKCOLOR correspond to CFM_COLOR and
	// CFM_BACKCOLOR, respectively, which control them
	CFE_AUTOBACKCOLOR = CFM_BACKCOLOR

	CFM_FONTBOUND     = 0x00100000
	CFM_LINKPROTECTED = 0x00800000 // Word hyperlink field
	CFM_EXTENDED      = 0x02000000
	CFM_MATHNOBUILDUP = 0x08000000
	CFM_MATH          = 0x10000000
	CFM_MATHORDINARY  = 0x20000000

	CFM_ALLEFFECTS = (CFM_EFFECTS2 | CFM_FONTBOUND | CFM_EXTENDED | CFM_MATHNOBUILDUP | CFM_MATH | CFM_MATHORDINARY)

	CFE_FONTBOUND     = 0x00100000 // Font chosen by binder, not user
	CFE_LINKPROTECTED = 0x00800000
	CFE_EXTENDED      = 0x02000000
	CFE_MATHNOBUILDUP = 0x08000000
	CFE_MATH          = 0x10000000
	CFE_MATHORDINARY  = 0x20000000

	// Underline types. RE 1.0 displays only CFU_UNDERLINE
	CFU_CF1UNDERLINE             = 0xFF // Map charformat's bit underline to CF2
	CFU_INVERT                   = 0xFE // For IME composition fake a selection
	CFU_UNDERLINETHICKLONGDASH   = 18   // (*) display as dash
	CFU_UNDERLINETHICKDOTTED     = 17   // (*) display as dot
	CFU_UNDERLINETHICKDASHDOTDOT = 16   // (*) display as dash dot dot
	CFU_UNDERLINETHICKDASHDOT    = 15   // (*) display as dash dot
	CFU_UNDERLINETHICKDASH       = 14   // (*) display as dash
	CFU_UNDERLINELONGDASH        = 13   // (*) display as dash
	CFU_UNDERLINEHEAVYWAVE       = 12   // (*) display as wave
	CFU_UNDERLINEDOUBLEWAVE      = 11   // (*) display as wave
	CFU_UNDERLINEHAIRLINE        = 10   // (*) display as single
	CFU_UNDERLINETHICK           = 9
	CFU_UNDERLINEWAVE            = 8
	CFU_UNDERLINEDASHDOTDOT      = 7
	CFU_UNDERLINEDASHDOT         = 6
	CFU_UNDERLINEDASH            = 5
	CFU_UNDERLINEDOTTED          = 4
	CFU_UNDERLINEDOUBLE          = 3 // (*) display as single
	CFU_UNDERLINEWORD            = 2 // (*) display as single
	CFU_UNDERLINE                = 1
	CFU_UNDERLINENONE            = 0
)

CHARFORMAT effects

View Source
const (
	// EM_SETCHARFORMAT wParam masks
	SCF_SELECTION       = 0x0001
	SCF_WORD            = 0x0002
	SCF_DEFAULT         = 0x0000 // Set default charformat or paraformat
	SCF_ALL             = 0x0004 // Not valid with SCF_SELECTION or SCF_WORD
	SCF_USEUIRULES      = 0x0008 // Modifier for SCF_SELECTION; says that came from a toolbar, etc., and  UI formatting rules should be instead of literal formatting
	SCF_ASSOCIATEFONT   = 0x0010 // Associate fontname with bCharSet (one possible for each of Western, ME, FE, Thai)
	SCF_NOKBUPDATE      = 0x0020 // Do not update KB layout for this change even if autokeyboard is on
	SCF_ASSOCIATEFONT2  = 0x0040 // Associate plane-2 (surrogate) font
	SCF_SMARTFONT       = 0x0080 // Apply font only if it can handle script (5.0)
	SCF_CHARREPFROMLCID = 0x0100 // Get character repertoire from lcid (5.0)

	SPF_DONTSETDEFAULT = 0x0002 // Suppress setting default on empty control
	SPF_SETDEFAULT     = 0x0004 // Set the default paraformat
)
View Source
const (
	// Stream formats. Flags are all in low word, since high word gives possible codepage choice.
	SF_TEXT      = 0x0001
	SF_RTF       = 0x0002
	SF_RTFNOOBJS = 0x0003 // Write only
	SF_TEXTIZED  = 0x0004 // Write only

	SF_UNICODE        = 0x0010 // Unicode file (UCS2 little endian)
	SF_USECODEPAGE    = 0x0020 // CodePage given by high word
	SF_NCRFORNONASCII = 0x40   // Output \uN for nonASCII
	SFF_WRITEXTRAPAR  = 0x80   // Output \par at end

	// Flag telling stream operations to operate on selection only
	// EM_STREAMIN	replaces current selection
	// EM_STREAMOUT streams out current selection
	SFF_SELECTION = 0x8000

	// Flag telling stream operations to ignore some FE control words having to do with FE word breaking and horiz vs vertical text.
	// Not used in RichEdit 2.0 and later
	SFF_PLAINRTF = 0x4000

	// Flag telling file stream output (SFF_SELECTION flag not set) to persist // \viewscaleN control word.
	SFF_PERSISTVIEWSCALE = 0x2000

	// Flag telling file stream input with SFF_SELECTION flag not set not to // close the document
	SFF_KEEPDOCINFO = 0x1000

	// Flag telling stream operations to output in Pocket Word format
	SFF_PWD = 0x0800

	// 3-bit field specifying the value of N - 1 to use for \rtfN or \pwdN
	SF_RTFVAL = 0x0700
)
View Source
const (
	MAX_TAB_STOPS   = 32
	LDefaultTab     = 720
	MAX_TABLE_CELLS = 63
)

All paragraph measurements are in twips

View Source
const (
	// PARAFORMAT mask values
	PFM_STARTINDENT  = 0x00000001
	PFM_RIGHTINDENT  = 0x00000002
	PFM_OFFSET       = 0x00000004
	PFM_ALIGNMENT    = 0x00000008
	PFM_TABSTOPS     = 0x00000010
	PFM_NUMBERING    = 0x00000020
	PFM_OFFSETINDENT = 0x80000000

	// PARAFORMAT 2.0 masks and effects
	PFM_SPACEBEFORE    = 0x00000040
	PFM_SPACEAFTER     = 0x00000080
	PFM_LINESPACING    = 0x00000100
	PFM_STYLE          = 0x00000400
	PFM_BORDER         = 0x00000800 // (*)
	PFM_SHADING        = 0x00001000 // (*)
	PFM_NUMBERINGSTYLE = 0x00002000 // RE 3.0
	PFM_NUMBERINGTAB   = 0x00004000 // RE 3.0
	PFM_NUMBERINGSTART = 0x00008000 // RE 3.0

	PFM_RTLPARA         = 0x00010000
	PFM_KEEP            = 0x00020000 // (*)
	PFM_KEEPNEXT        = 0x00040000 // (*)
	PFM_PAGEBREAKBEFORE = 0x00080000 // (*)
	PFM_NOLINENUMBER    = 0x00100000 // (*)
	PFM_NOWIDOWCONTROL  = 0x00200000 // (*)
	PFM_DONOTHYPHEN     = 0x00400000 // (*)
	PFM_SIDEBYSIDE      = 0x00800000 // (*)

	// The following two paragraph-format properties are read only
	PFM_COLLAPSED         = 0x01000000 // RE 3.0
	PFM_OUTLINELEVEL      = 0x02000000 // RE 3.0
	PFM_BOX               = 0x04000000 // RE 3.0
	PFM_RESERVED2         = 0x08000000 // RE 4.0
	PFM_TABLEROWDELIMITER = 0x10000000 // RE 4.0
	PFM_TEXTWRAPPINGBREAK = 0x20000000 // RE 3.0
	PFM_TABLE             = 0x40000000 // RE 3.0

	// PARAFORMAT "ALL" masks
	PFM_ALL = PFM_STARTINDENT | PFM_RIGHTINDENT | PFM_OFFSET | PFM_ALIGNMENT | PFM_TABSTOPS | PFM_NUMBERING | PFM_OFFSETINDENT | PFM_RTLPARA

	// Note: PARAFORMAT has no effects (BiDi RichEdit 1.0 does have PFE_RTLPARA)
	PFM_EFFECTS = PFM_RTLPARA | PFM_KEEP | PFM_KEEPNEXT | PFM_TABLE | PFM_PAGEBREAKBEFORE | PFM_NOLINENUMBER | PFM_NOWIDOWCONTROL | PFM_DONOTHYPHEN | PFM_SIDEBYSIDE | PFM_TABLE | PFM_TABLEROWDELIMITER

	PFM_ALL2 = PFM_ALL | PFM_EFFECTS | PFM_SPACEBEFORE | PFM_SPACEAFTER | PFM_LINESPACING | PFM_STYLE | PFM_SHADING | PFM_BORDER | PFM_NUMBERINGTAB | PFM_NUMBERINGSTART | PFM_NUMBERINGSTYLE

	PFE_RTLPARA           = PFM_RTLPARA >> 16
	PFE_KEEP              = PFM_KEEP >> 16              // (*)
	PFE_KEEPNEXT          = PFM_KEEPNEXT >> 16          // (*)
	PFE_PAGEBREAKBEFORE   = PFM_PAGEBREAKBEFORE >> 16   // (*)
	PFE_NOLINENUMBER      = PFM_NOLINENUMBER >> 16      // (*)
	PFE_NOWIDOWCONTROL    = PFM_NOWIDOWCONTROL >> 16    // (*)
	PFE_DONOTHYPHEN       = PFM_DONOTHYPHEN >> 16       // (*)
	PFE_SIDEBYSIDE        = PFM_SIDEBYSIDE >> 16        // (*)
	PFE_TEXTWRAPPINGBREAK = PFM_TEXTWRAPPINGBREAK >> 16 // (*)

	// The following four effects are read only
	PFE_COLLAPSED         = PFM_COLLAPSED >> 16         // (+)
	PFE_BOX               = PFM_BOX >> 16               // (+)
	PFE_TABLE             = PFM_TABLE >> 16             // Inside table row. RE 3.0
	PFE_TABLEROWDELIMITER = PFM_TABLEROWDELIMITER >> 16 // Table row start. RE 4.0

	// PARAFORMAT numbering options
	PFN_BULLET = 1 // tomListBullet

	// PARAFORMAT2 wNumbering options
	PFN_ARABIC   = 2 // tomListNumberAsArabic:	0, 1, 2,	...
	PFN_LCLETTER = 3 // tomListNumberAsLCLetter: a, b, c,	...
	PFN_UCLETTER = 4 // tomListNumberAsUCLetter: A, B, C,	...
	PFN_LCROMAN  = 5 // tomListNumberAsLCRoman:	i, ii, iii, ...
	PFN_UCROMAN  = 6 // tomListNumberAsUCRoman:	I, II, III, ...

	// PARAFORMAT2 wNumberingStyle options
	PFNS_PAREN    = 0x000 // default, e.g.,				  1)
	PFNS_PARENS   = 0x100 // tomListParentheses/256, e.g., (1)
	PFNS_PERIOD   = 0x200 // tomListPeriod/256, e.g., 	  1.
	PFNS_PLAIN    = 0x300 // tomListPlain/256, e.g.,		  1
	PFNS_NONUMBER = 0x400 // Used for continuation w/o number

	PFNS_NEWNUMBER = 0x8000 // Start new number with wNumberingStart
	// (can be combined with other PFNS_xxx)
	// PARAFORMAT alignment options
	PFA_LEFT   = 1
	PFA_RIGHT  = 2
	PFA_CENTER = 3

	// PARAFORMAT2 alignment options
	PFA_JUSTIFY        = 4 // New paragraph-alignment option 2.0 (*)
	PFA_FULL_INTERWORD = 4 // These are supported in 3.0 with advanced
)
View Source
const (
	SEL_EMPTY       = 0x0000
	SEL_TEXT        = 0x0001
	SEL_OBJECT      = 0x0002
	SEL_MULTICHAR   = 0x0004
	SEL_MULTIOBJECT = 0x0008
)
View Source
const (
	// bits for GETCONTEXTMENUEX::dwFlags
	GCMF_GRIPPER   = 0x00000001
	GCMF_SPELLING  = 0x00000002 // pSpellingSuggestions is valid and points to the list of spelling suggestions
	GCMF_TOUCHMENU = 0x00004000
	GCMF_MOUSEMENU = 0x00002000
)
View Source
const (
	// Clipboard formats - use as parameter to RegisterClipboardFormat()
	CF_RTF       = "Rich Text Format"
	CF_RTFNOOBJS = "Rich Text Format Without Objects"
	CF_RETEXTOBJ = "RichEdit Text and Objects"
)
View Source
const (
	UID_UNKNOWN   UNDONAMEID = 0
	UID_TYPING               = 1
	UID_DELETE               = 2
	UID_DRAGDROP             = 3
	UID_CUT                  = 4
	UID_PASTE                = 5
	UID_AUTOTABLE            = 6
)
View Source
const (
	// Flags for the SETEXTEX data structure
	ST_DEFAULT   = 0
	ST_KEEPUNDO  = 1
	ST_SELECTION = 2
	ST_NEuint16S = 4
	ST_UNICODE   = 8
)
View Source
const (
	// Flags for the GETEXTEX data structure
	GT_DEFAULT      = 0
	GT_USECRLF      = 1
	GT_SELECTION    = 2
	GT_RAWTEXT      = 4
	GT_NOHIDDENTEXT = 8
)
View Source
const (
	// Flags for the GETTEXTLENGTHEX data structure
	GTL_DEFAULT  = 0  // Do default (return # of chars)
	GTL_USECRLF  = 1  // Compute answer using CRLFs for paragraphs
	GTL_PRECISE  = 2  // Compute a precise answer
	GTL_CLOSE    = 4  // Fast computation of a "close" answer
	GTL_NUMCHARS = 8  // Return number of characters
	GTL_NUMBYTES = 16 // Return number of _bytes_
)
View Source
const (
	// BIDIOPTIONS masks
	BOM_NEUTRALOVERRIDE  = 0x0004 // Override neutral layout (obsolete)
	BOM_CONTEXTREADING   = 0x0008 // Context reading order
	BOM_CONTEXTALIGNMENT = 0x0010 // Context alignment
	BOM_LEGACYBIDICLASS  = 0x0040 // Legacy Bidi classification (obsolete)
	BOM_UNICODEBIDI      = 0x0080 // Use Unicode BiDi algorithm

	// BIDIOPTIONS effects
	BOE_NEUTRALOVERRIDE  = 0x0004 // Override neutral layout (obsolete)
	BOE_CONTEXTREADING   = 0x0008 // Context reading order
	BOE_CONTEXTALIGNMENT = 0x0010 // Context alignment
	BOE_FORCERECALC      = 0x0020 // Force recalc and redraw
	BOE_LEGACYBIDICLASS  = 0x0040 // Legacy Bidi classification (obsolete)
	BOE_UNICODEBIDI      = 0x0080 // Use Unicode BiDi algorithm

	// Additional EM_FINDTEXT[EX] flags
	FR_MATCHDIAC      = 0x20000000
	FR_MATCHKASHIDA   = 0x40000000
	FR_MATCHALEFHAMZA = 0x80000000

	// UNICODE embedding character
	WCH_EMBEDDING uint16 = 0xFFFC
)
View Source
const (
	EM_AUTOURLDETECT = user32.WM_USER + 91
)
View Source
const (
	EM_INSERTTABLE = user32.WM_USER + 232
)

New messages as of Win8

View Source
const (
	ES_EX_NOCALLOLEINIT = 0x00000000 // Not supported in RE 2.0/3.0
)

Obsolete Edit Style

View Source
const (
	// Used with IRichEditOleCallback::GetContextMenu, this flag will be passed as a "selection type".  It indicates that a context menu for a right-mouse drag drop should be generated.  The IOleObject parameter will really be the IDataObject for the drop
	GCM_RIGHTMOUSEDROP = 0x8000
)
View Source
const ICT_RESULTREADSTR = 1
View Source
const OLEOP_DOVERB = 1
View Source
const (
	// Additional class for Richedit 6.0
	RICHEDIT60_CLASS = "RICHEDIT60W"
)
View Source
const YHeightCharPtsMost = 1638

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoCorrectProc

type AutoCorrectProc func(langid kernel32.LANGID, pszBefore *uint16, pszAfter *uint16, cchAfter int32, pcchReplaced *int32) int

AutoCorrect callback

type BIDIOPTIONS

type BIDIOPTIONS struct {
	CbSize   uint32
	WMask    uint16
	WEffects uint16
}

BiDi specific features

type CHARFORMAT

type CHARFORMAT struct {
	CbSize          uint32
	DwMask          uint32
	DwEffects       uint32
	YHeight         int32
	YOffset         int32
	CrTextColor     gdi32.COLORREF
	BCharSet        byte
	BPitchAndFamily byte
	SzFaceName      [gdi32.LF_FACESIZE]uint16
}

type CHARFORMAT2

type CHARFORMAT2 struct {
	CHARFORMAT
	WWeight         uint16         // Font weight (LOGFONT value)
	SSpacing        int16          // Amount to space between letters
	CrBackColor     gdi32.COLORREF // Background color
	Lcid            kernel32.LCID  // Locale ID
	DwCookie        uint32         // Client cookie opaque to RichEdit
	SStyle          int16          // Style handle
	WKerning        uint16         // Twip size above which to kern char pair
	BUnderlineType  byte           // Underline type
	BAnimation      byte           // Animated text like marching ants
	BRevAuthor      byte           // Revision author index
	BUnderlineColor byte           // Underline color
}

type CHARRANGE

type CHARRANGE struct {
	CpMin int32
	CpMax int32
}

type CLIPBOARDFORMAT

type CLIPBOARDFORMAT struct {
	Nmhdr user32.NMHDR
	Cf    gdi32.CLIPFORMAT
}

type COMPCOLOR

type COMPCOLOR struct {
	CrText       gdi32.COLORREF
	CrBackground gdi32.COLORREF
	DwEffects    uint32
}

East Asia specific

type EDITSTREAM

type EDITSTREAM struct {
	DwCookie    uintptr // User value passed to callback as first parameter
	DwError     uint32  // Last error
	PfnCallback uintptr
}

type ENCORRECTTEXT

type ENCORRECTTEXT struct {
	Nmhdr  user32.NMHDR
	Chrg   CHARRANGE
	Seltyp uint16
}

PenWin specific

type ENDCOMPOSITIONNOTIFY

type ENDCOMPOSITIONNOTIFY struct {
	Nmhdr  user32.NMHDR
	DwCode uint32
}

Notification structure for EN_ENDCOMPOSITION

type ENDROPFILES

type ENDROPFILES struct {
	Nmhdr      user32.NMHDR
	HDrop      handle.HANDLE
	Cp         int32
	FProtected win.BOOL
}
type ENLINK struct {
	Nmhdr  user32.NMHDR
	Msg    uint32
	WParam uintptr
	LParam uintptr
	Chrg   CHARRANGE
}

type ENLOWFIRTF

type ENLOWFIRTF struct {
	Nmhdr     user32.NMHDR
	SzControl *byte
}

type ENOLEOPFAILED

type ENOLEOPFAILED struct {
	Nmhdr user32.NMHDR
	Iob   int32
	LOper int32
	Hr    win.HRESULT
}

type ENPROTECTED

type ENPROTECTED struct {
	Nmhdr  user32.NMHDR
	Msg    uint32
	WParam uintptr
	LParam uintptr
	Chrg   CHARRANGE
}

type ENSAVECLIPBOARD

type ENSAVECLIPBOARD struct {
	Nmhdr        user32.NMHDR
	CObjectCount int32
	Cch          int32
}

type FINDTEXT

type FINDTEXT struct {
	Chrg      CHARRANGE
	LpstrText *uint16
}

type FINDTEXTEX

type FINDTEXTEX struct {
	// contains filtered or unexported fields
}

type FORMATRANGE

type FORMATRANGE struct {
	// contains filtered or unexported fields
}

type GETCONTEXTMENUEX

type GETCONTEXTMENUEX struct {
	Chrg       CHARRANGE
	DwFlags    uint32
	Pt         gdi32.POINT
	PvReserved uintptr
}

type GETTEXTEX

type GETTEXTEX struct {
	Cb            uint32    // Count of bytes in the string
	Flags         uint32    // Flags (see the GT_XXX defines
	Codepage      uint32    // Code page for translation (CP_ACP for sys default, 1200 for Unicode, -1 for control default)
	LpDefaultChar *byte     // Replacement for unmappable chars
	LpUsedDefChar *win.BOOL // Pointer to flag set when def char used
}

EM_GETTEXTEX info; this struct is passed in the wparam of the message

type GETTEXTLENGTHEX

type GETTEXTLENGTHEX struct {
	Flags    uint32 // Flags (see GTL_XXX defines)
	Codepage uint32 // Code page for translation (CP_ACP for default, 1200 for Unicode)
}

EM_GETTEXTLENGTHEX info; this struct is passed in the wparam of the msg

type GROUPTYPINGCHANGE

type GROUPTYPINGCHANGE struct {
	Nmhdr        user32.NMHDR
	FGroupTyping win.BOOL
}

type HYPHENATEINFO

type HYPHENATEINFO struct {
	CbSize          int16 // Size of HYPHENATEINFO structure
	DxHyphenateZone int16 // If a space character is closer to the margin than this value, don't hyphenate (in TWIPs)
	PfnHyphenate    uintptr
}

type HYPHRESULT

type HYPHRESULT struct {
	Khyph   KHYPH  // Kind of hyphenation
	IchHyph int32  // Character which was hyphenated
	ChHyph  uint16 // Depending on hyphenation type, character added, changed, etc.
}

type IMECOMPTEXT

type IMECOMPTEXT struct {
	// count of bytes in the output buffer.
	Cb int32

	// value specifying the composition string type.
	//	Currently only support ICT_RESULTREADSTR
	Flags uint32
}

EM_GETIMECOMPTEXT wparam structure

type KHYPH

type KHYPH int32

khyph - Kind of hyphenation

const (
	KhyphNil          KHYPH = iota // No Hyphenation
	KhyphNormal                    // Normal Hyphenation
	KhyphAddBefore                 // Add letter before hyphen
	KhyphChangeBefore              // Change letter before hyphen
	KhyphDeleteBefore              // Delete letter before hyphen
	KhyphChangeAfter               // Change letter after hyphen
	KhyphDelAndChange              // Delete letter before hyphen and change letter preceding hyphen
)

type MSGFILTER

type MSGFILTER struct {
	Nmhdr  user32.NMHDR
	Msg    uint32
	WParam uintptr
	LParam uintptr
}

type OBJECTPOSITIONS

type OBJECTPOSITIONS struct {
	Nmhdr        user32.NMHDR
	CObjectCount int32
	PcpPositions *int32
}

type PARAFORMAT

type PARAFORMAT struct {
	CbSize        uint32
	DwMask        uint32
	WNumbering    uint16
	WEffects      uint16
	DxStartIndent int32
	DxRightIndent int32
	DxOffset      int32
	WAlignment    uint16
	CTabCount     int16
	RgxTabs       [MAX_TAB_STOPS]int32
}

type PARAFORMAT2

type PARAFORMAT2 struct {
	PARAFORMAT
	DySpaceBefore    int32  // Vertical spacing before para
	DySpaceAfter     int32  // Vertical spacing after para
	DyLineSpacing    int32  // Line spacing depending on Rule
	SStyle           int16  // Style handle
	BLineSpacingRule byte   // Rule for line spacing (see tom.doc)
	BOutlineLevel    byte   // Outline level
	WShadingWeight   uint16 // Shading in hundredths of a per cent
	WShadingStyle    uint16 // Nibble 0: style, 1: cfpat, 2: cbpat
	WNumberingStart  uint16 // Starting value for numbering
	WNumberingStyle  uint16 // Alignment, roman/arabic, (), ), ., etc.
	WNumberingTab    uint16 // Space bet FirstIndent & 1st-line text
	WBorderSpace     uint16 // Border-text spaces (nbl/bdr in pts)
	WBorderWidth     uint16 // Pen widths (nbl/bdr in half pts)
	WBorders         uint16 // Border styles (nibble/border)
}

type PUNCTUATION

type PUNCTUATION struct {
	ISize         uint32
	SzPunctuation *byte
}

East Asia specific

type REPASTESPECIAL

type REPASTESPECIAL struct {
	DwAspect uint32
	DwParam  uintptr
}

Paste Special

type REQRESIZE

type REQRESIZE struct {
	Nmhdr user32.NMHDR
	Rc    gdi32.RECT
}

type RICHEDIT_IMAGE_PARAMETERS

type RICHEDIT_IMAGE_PARAMETERS struct {
	XWidth            int32 // Units are HIMETRIC
	YHeight           int32 // Units are HIMETRIC
	Ascent            int32 // Units are HIMETRIC
	Type              int32 // Valid values are TA_TOP, TA_BOTTOM and TA_BASELINE
	PwszAlternateText *uint16
	PIStream          uintptr
}

lparam for EM_INSERTIMAGE

type SELCHANGE

type SELCHANGE struct {
	Nmhdr  user32.NMHDR
	Chrg   CHARRANGE
	Seltyp uint16
}

type SETTEXTEX

type SETTEXTEX struct {
	Flags    uint32 // Flags (see the ST_XXX defines)
	Codepage uint32 // Code page for translation (CP_ACP for sys default, 1200 for Unicode, -1 for control default)
}

EM_SETTEXTEX info; this struct is passed in the wparam of the message

type TABLECELLPARMS

type TABLECELLPARMS struct {
	DxWidth int32 // Cell width (\cellx)

	// nVertAlign:2   Vertical alignment (0/1/2 = top/center/bottom \clvertalt (def), \clvertalc, \clvertalb)
	// fMergeTop:1    Top cell for vertical merge (\clvmgf)
	// fMergePrev:1   Merge with cell above (\clvmrg)
	// fVertical:1    Display text top to bottom, right to left (\cltxtbrlv)
	// fMergeStart:1  Start set of horizontally merged cells (\clmgf)
	// fMergeCont:1   Merge with previous cell (\clmrg)
	Flags uint32

	WShading uint32 // Shading in .01%		(\clshdng) e.g., 10000 flips fore/back

	DxBrdrLeft   int32 // Left border width	(\clbrdrl\brdrwN) (in twips)
	DyBrdrTop    int32 // Top border width 	(\clbrdrt\brdrwN)
	DxBrdrRight  int32 // Right border width	(\clbrdrr\brdrwN)
	DyBrdrBottom int32 // Bottom border width	(\clbrdrb\brdrwN)

	CrBrdrLeft   gdi32.COLORREF // Left border color	(\clbrdrl\brdrcf)
	CrBrdrTop    gdi32.COLORREF // Top border color 	(\clbrdrt\brdrcf)
	CrBrdrRight  gdi32.COLORREF // Right border color	(\clbrdrr\brdrcf)
	CrBrdrBottom gdi32.COLORREF // Bottom border color	(\clbrdrb\brdrcf)
	CrBackPat    gdi32.COLORREF // Background color 	(\clcbpat)
	CrForePat    gdi32.COLORREF // Foreground color 	(\clcfpat)
}

Data type defining table cells for EM_INSERTTABLE Note: The Richedit.h is completely #pragma pack(4)-ed

type TABLEROWPARMS

type TABLEROWPARMS struct {
	CbRow        uint32 // Count of bytes in this structure
	CbCell       uint32 // Count of bytes in TABLECELLPARMS
	CCell        uint32 // Count of cells
	CRow         uint32 // Count of rows
	DxCellMargin int32  // Cell left/right margin (\trgaph)
	DxIndent     int32  // Row left (right if fRTL indent (similar to \trleft)
	DyHeight     int32  // Row height (\trrh)

	// nAlignment:3   Row alignment (like PARAFORMAT::bAlignment, \trql, trqr, \trqc)
	// fRTL:1         Display cells in RTL order (\rtlrow)
	// fKeep:1        Keep row together (\trkeep}
	// fKeepFollow:1  Keep row on same page as following row (\trkeepfollow)
	// fWrap:1        Wrap text to right/left (depending on bAlignment) (see \tdfrmtxtLeftN, \tdfrmtxtRightN)
	// fIdentCells:1  lparam points at single struct valid for all cells
	Flags uint32

	CpStartRow  int32  // cp where to insert table (-1 for selection cp) (can be used for either TRD by EM_GETTABLEPARMS)
	BTableLevel uint32 // Table nesting level (EM_GETTABLEPARMS only)
	ICell       uint32 // Index of cell to insert/delete (EM_SETTABLEPARMS only)
}

Data type defining table rows for EM_INSERTTABLE Note: The Richedit.h is completely #pragma pack(4)-ed

type TEXTMODE

type TEXTMODE int32

type TEXTRANGE

type TEXTRANGE struct {
	Chrg      CHARRANGE
	LpstrText *uint16 // Allocated by caller, zero terminated by RichEdit
}

type UNDONAMEID

type UNDONAMEID int32

UndoName info

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL