📄 penwin.h
字号:
#define IEN_RESERVED 0xFF80 // reserved
// IEdit Return Values
#define IER_OK 0 // success
#define IER_NO 0 // ctl cannot do request
#define IER_YES 1 // ctl can do request
#define IER_ERROR (-1) // unspecified error; operation failed
#define IER_PARAMERR (-2) // bogus lParam value, bad handle, etc
#define IER_OWNERDRAW (-3) // can't set drawopts in ownerdraw ctl
#define IER_SECURITY (-4) // security protection disallows action
#define IER_SELECTION (-5) // nothing selected in control
#define IER_SCALE (-6) // merge: incompatible scaling factors
#define IER_MEMERR (-7) // memory error
#define IER_NOCOMMAND (-8) // tried IE_GETCOMMAND w/no command
#define IER_NOGESTURE (-9) // tried IE_GETGESTURE w/no gesture
#define IER_NOPDEVENT (-10) // tried IE_GETPDEVENT but no event
#define IER_NOTINPAINT (-11) // tried IE_GETPAINTSTRUCT but no paint
#define IER_PENDATA (-12) // can't do request with NULL hpd in ctl
// IEdit Recognition Options
#define IEREC_NONE 0x0000 // No recognition
#define IEREC_GESTURE 0x0001 // Gesture recognition
#define IEREC_ALL (IEREC_GESTURE)
#define IEREC_RESERVED 0xFFFE // Reserved
// IEdit Security Options
#define IESEC_NOCOPY 0x0001 // copying disallowed
#define IESEC_NOCUT 0x0002 // cutting disallowed
#define IESEC_NOPASTE 0x0004 // pasting disallowed
#define IESEC_NOUNDO 0x0008 // undoing disallowed
#define IESEC_NOINK 0x0010 // inking disallowed
#define IESEC_NOERASE 0x0020 // erasing disallowed
#define IESEC_NOGET 0x0040 // IE_GETINK message verboten
#define IESEC_NOSET 0x0080 // IE_SETINK message verboten
#define IESEC_RESERVED 0xFF00 // reserved
// IEdit IE_SETFORMAT/IE_GETFORMAT options
#define IESF_ALL 0x0001 // set/get stk fmt of all ink
#define IESF_SELECTION 0x0002 // set/get stk fmt of selected ink
#define IESF_STROKE 0x0004 // set/get stk fmt of specified stroke
//
#define IESF_TIPCOLOR 0x0008 // set color
#define IESF_TIPWIDTH 0x0010 // set width
#define IESF_PENTIP (IESF_TIPCOLOR|IESF_TIPWIDTH)
//
// IEdit IE_SETINK options
#define IESI_REPLACE 0x0000 // replace ink in control
#define IESI_APPEND 0x0001 // append ink to existing control ink
// Ink Edit Control (IEdit) definitions
// IEdit Notifications
#define IN_PDEVENT ((IEN_PDEVENT<<8)|0) // pointing device event occurred
#define IN_ERASEBKGND ((IEN_NULL<<8)|1) // control needs bkgnd erased
#define IN_PREPAINT ((IEN_PAINT<<8)|2) // before control paints its ink
#define IN_PAINT ((IEN_NULL<<8)|3) // control needs to be painted
#define IN_POSTPAINT ((IEN_PAINT<<8)|4) // after control has painted
#define IN_MODECHANGED ((IEN_EDIT<<8)|5) // mode changed
#define IN_CHANGE ((IEN_EDIT<<8)|6) // contents changed & painted
#define IN_UPDATE ((IEN_EDIT<<8)|7) // contents changed & !painted
#define IN_SETFOCUS ((IEN_FOCUS<<8)|8) // IEdit is getting focus
#define IN_KILLFOCUS ((IEN_FOCUS<<8)|9) // IEdit is losing focus
#define IN_MEMERR ((IEN_NULL<<8)|10) // memory error
#define IN_HSCROLL ((IEN_SCROLL<<8)|11) // horz scrolled, not painted
#define IN_VSCROLL ((IEN_SCROLL<<8)|12) // vert scrolled, not painted
#define IN_GESTURE ((IEN_EDIT<<8)|13) // user has gestured on control
#define IN_COMMAND ((IEN_EDIT<<8)|14) // command selected from menu
#define IN_CLOSE ((IEN_NULL<<8)|15) // I-Edit is being closed
#define IN_PROPERTIES ((IEN_PROPERTIES<<8)|16) // properties dialog
#endif /*!NOPENIEDIT */
//---------------------------------------------------------------------------
#ifndef NOPENINKPUT
// PenIn[k]put API constants
// Default Processing
#define LRET_DONE 1L
#define LRET_ABORT (-1L)
#define LRET_HRC (-2L)
#define LRET_HPENDATA (-3L)
#define LRET_PRIVATE (-4L)
// Inkput:
#define PCMR_OK 0
#define PCMR_ALREADYCOLLECTING (-1)
#define PCMR_INVALIDCOLLECTION (-2)
#define PCMR_EVENTLOCK (-3)
#define PCMR_INVALID_PACKETID (-4)
#define PCMR_TERMTIMEOUT (-5)
#define PCMR_TERMRANGE (-6)
#define PCMR_TERMPENUP (-7)
#define PCMR_TERMEX (-8)
#define PCMR_TERMBOUND (-9)
#define PCMR_APPTERMINATED (-10)
#define PCMR_TAP (-11) // alias PCMR_TAPNHOLD_LAST
#define PCMR_SELECT (-12) // ret because of tap & hold
#define PCMR_OVERFLOW (-13)
#define PCMR_ERROR (-14) // parameter or unspecified error
#define PCMR_DISPLAYERR (-15) // inking only
#define PCMR_TERMINVERT (-16) // termination due to tapping opposite end of pen
#define PII_INKCLIPRECT 0x0001
#define PII_INKSTOPRECT 0x0002
#define PII_INKCLIPRGN 0x0004
#define PII_INKSTOPRGN 0x0008
#define PII_INKPENTIP 0x0010
#define PII_SAVEBACKGROUND 0x0020
#define PII_CLIPSTOP 0x0040
#define PIT_RGNBOUND 0x0001
#define PIT_RGNEXCLUDE 0x0002
#define PIT_TIMEOUT 0x0004
#define PIT_TAPNHOLD 0x0008
#endif /*!NOPENINKPUT */
//---------------------------------------------------------------------------
#ifndef NOPENMISC
// Misc RC Definitions:
#define CL_NULL 0
#define CL_MINIMUM 1 // minimum confidence level
#define CL_MAXIMUM 100 // max (require perfect recog)
#define cwRcReservedMax 8 // rc.rgwReserved[cwRcReservedMax]
#define ENUM_MINIMUM 1
#define ENUM_MAXIMUM 4096
#define HKP_SETHOOK 0 // SetRecogHook()
#define HKP_UNHOOK 0xFFFF
#define HWR_RESULTS 0
#define HWR_APPWIDE 1
#define iSycNull (-1)
#define LPDFNULL ((LPDF)NULL)
#define MAXDICTIONARIES 16 // rc.rglpdf[MAXDICTIONARIES]
#define wPntAll (UINT)0xFFFF
#define cbRcLanguageMax 44 // rc.lpLanguage[cbRcLanguageMax]
#define cbRcUserMax 32 // rc.lpUser[cbRcUserMax]
#define cbRcrgbfAlcMax 32 // rc.rgbfAlc[cbRcrgbfAlcMax]
#define RC_WDEFAULT 0xffff
#define RC_LDEFAULT 0xffffffffL
#define RC_WDEFAULTFLAGS 0x8000
#define RC_LDEFAULTFLAGS 0x80000000L
// CorrectWriting() API constants:
// LOWORD values:
#define CWR_REPLACECR 0x0001 // replace carriage ret (\r) with space
#define CWR_STRIPCR CWR_REPLACECR // alias for backward compatibility
#define CWR_STRIPLF 0x0002 // strip linefeed (\n)
#define CWR_REPLACETAB 0x0004 // replace tab with space (\t)
#define CWR_STRIPTAB CWR_REPLACETAB // alias for backward compatibility
#define CWR_SINGLELINEEDIT (CWR_REPLACECR|CWR_STRIPLF|CWR_REPLACETAB) // all of the above
#define CWR_INSERT 0x0008 // use "Insert Text" instead of "Edit Text" in the title
#define CWR_TITLE 0x0010 // interpret dwParam as title string
#define CWR_KKCONVERT 0x0020 // JPN initiate IME
#define CWR_SIMPLE 0x0040 // simple dialog (lens)
#define CWR_HEDIT 0x0080 // HEDIT CorrectWriting
#define CWR_KEYBOARD 0x0100 // keyboard lens
#define CWR_BOXES 0x0200 // bedit lens
// HIWORD values: keyboard types
#define CWRK_DEFAULT 0 // default keyboard type
#define CWRK_BASIC 1 // basic keyboard
#define CWRK_FULL 2 // full keyboard
#define CWRK_NUMPAD 3 // numeric keyboard
#define CWRK_TELPAD 4 // Telephone type keyboard
#ifdef JAPAN
#define GPMI_OK 0L
#define GPMI_INVALIDPMI 0x8000L
#endif // JAPAN
// inkwidth limits
#define INKWIDTH_MINIMUM 0 // 0 invisible, 1..15 pixel widths
#define INKWIDTH_MAXIMUM 15 // max width in pixels
// Get/SetPenMiscInfo:
// PMI_RCCHANGE is for WM_GLOBALRCCHANGE compatability only:
#define PMI_RCCHANGE 0 // invalid for Get/SetPenMiscInfo
#define PMI_BEDIT 1 // boxed edit info
#define PMI_IMECOLOR 2 // input method editor color
#define PMI_CXTABLET 3 // tablet width
#define PMI_CYTABLET 4 // tablet height
#define PMI_PENTIP 6 // pen tip: color, width, nib
#define PMI_ENABLEFLAGS 7 // PWE_xx enablements
#define PMI_TIMEOUT 8 // handwriting timeout
#define PMI_TIMEOUTGEST 9 // gesture timeout
#define PMI_TIMEOUTSEL 10 // select (press&hold) timeout
#define PMI_SYSFLAGS 11 // component load configuration
#define PMI_INDEXFROMRGB 12 // color table index from RGB
#define PMI_RGBFROMINDEX 13 // RGB from color table index
#define PMI_SYSREC 14 // handle to system recognizer
#define PMI_TICKREF 15 // reference absolute time
#define PMI_SAVE 0x1000 // save setting to file
// Set/GetPenMiscInfo/PMI_ENABLEFLAGS flags:
#define PWE_AUTOWRITE 0x0001 // pen functionality where IBeam
#define PWE_ACTIONHANDLES 0x0002 // action handles in controls
#define PWE_INPUTCURSOR 0x0004 // show cursor while writing
#define PWE_LENS 0x0008 // allow lens popup
// GetPenMiscInfo/PMI_SYSFLAGS flags:
#define PWF_RC1 0x0001 // Windows for Pen 1.0 RC support
#define PWF_PEN 0x0004 // pen drv loaded & hdwe init'd
#define PWF_INKDISPLAY 0x0008 // ink-compatible display drv loaded
#define PWF_RECOGNIZER 0x0010 // system recognizer installed
#define PWF_BEDIT 0x0100 // boxed edit support
#define PWF_HEDIT 0x0200 // free input edit support
#define PWF_IEDIT 0x0400 // ink edit support
#define PWF_ENHANCED 0x1000 // enh features (gest, 1ms timing)
#define PWF_FULL\
PWF_RC1|PWF_PEN|PWF_INKDISPLAY|PWF_RECOGNIZER|\
PWF_BEDIT|PWF_HEDIT |PWF_IEDIT|PWF_ENHANCED
// SetPenAppFlags() / RegisterPenApp() API constants:
#define RPA_DEFAULT 0x0001 // == RPA_HEDIT
#define RPA_HEDIT 0x0001 // convert EDIT to HEDIT
#define RPA_KANJIFIXEDBEDIT 0x0002
#define RPA_DBCSPRIORITY 0x0004 // assume DBCS has priority (Japan)
#define PMIR_OK 0L
#define PMIR_INDEX (-1L)
#define PMIR_VALUE (-2L)
#define PMIR_INVALIDBOXEDITINFO (-3L)
#define PMIR_INIERROR (-4L)
#define PMIR_ERROR (-5L)
#define PMIR_NA (-6L)
#ifdef JAPAN
#define SPMI_OK 0L
#define SPMI_INVALIDBOXEDITINFO 1L
#define SPMI_INIERROR 2L
#define SPMI_INVALIDPMI 0x8000L
#endif //JAPAN
#endif /*!NOPENMISC */
//---------------------------------------------------------------------------
#ifndef NOPENRC1 // not available in WIN32
// RC Options and Flags:
// GetGlobalRC() API return codes:
#define GGRC_OK 0 // no err
#define GGRC_DICTBUFTOOSMALL 1 // lpDefDict buffer too small for path
#define GGRC_PARAMERROR 2 // invalid params: call ignored
#define GGRC_NA 3 // function not available
// RC Direction:
#define RCD_DEFAULT 0 // def none
#define RCD_LR 1 // left to right like English
#define RCD_RL 2 // right to left like Arabic
#define RCD_TB 3 // top to bottom like Japanese
#define RCD_BT 4 // bottom to top like some Chinese
// RC International Preferences:
#define RCIP_ALLANSICHAR 0x0001 // all ANSI chars
#define RCIP_MASK 0x0001
// RC Options:
#define RCO_NOPOINTEREVENT 0x00000001L // no recog tap, tap/hold
#define RCO_SAVEALLDATA 0x00000002L // save pen data like upstrokes
#define RCO_SAVEHPENDATA 0x00000004L // save pen data for app
#define RCO_NOFLASHUNKNOWN 0x00000008L // no ? cursor on unknown
#define RCO_TABLETCOORD 0x00000010L // tablet coords used in RC
#define RCO_NOSPACEBREAK 0x00000020L // no space break recog -> dict
#define RCO_NOHIDECURSOR 0x00000040L // display cursor during inking
#define RCO_NOHOOK 0x00000080L // disallow ink hook (passwords)
#define RCO_BOXED 0x00000100L // valid rc.guide provided
#define RCO_SUGGEST 0x00000200L // for dict suggest
#define RCO_DISABLEGESMAP 0x00000400L // disable gesture mapping
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -