📄 penwin.h
字号:
/****************************************************************************\
* *
* PENWIN.H - Pen Windows functions, types, and definitions *
* *
* Version 2.0 *
* *
* Copyright (c) 1992-1995 Microsoft Corp. All rights reserved. *
* *
*******************************************************************************
*
* The following symbols control inclusion of various parts of this file;
* (indented identifiers are included by the previous main identifier):
*
* #define: To prevent inclusion of:
*
* PENVER Pen Windows version number (0x0200). To exclude
* definitions introduced in version 2.0 (or above)
* #define PENVER 0x0100 before #including <penwin.h>
*
* NOPENALC Alphabet Code definitions and macros
* NOPENAPPS Pen Applications: Screen Keyboard
* NOPENCTL H/BEDIT, IEDIT, and pen-enabled USER controls, including:
* NOPENBEDIT : Boxed Edit Control
* NOPENIEDIT : Ink Edit Control
* NOPENHEDIT : (H)Edit control
* NOPENDATA PenData APIs and definitions
* NOPENDICT Dictionary support
* NOPENDRIVER Pen Driver definitions, incl OEM
* NOPENHRC Handwriting Recognizer APIs and definitions
* NOPENINKPUT Inking and Input APIs and definitions
* NOPENMISC Miscellaneous Info and Utility APIs and definitions
* NOPENMSGS Pen Messages and definitions
* NOPENNLS National Language Support
* NOPENRC1 Recognition Context APIs and definitions (1.0)
* NOPENRES Pen resources, including:
* NOPENBMP : Pen-related bitmaps
* NOPENCURS : Pen-related cursors
* NOPENTARGET Targeting APIs and definitions
* NOPENVIRTEVENT Virtual Event layer APIs
*
* _WIN32 non-Win32 components, subincludes:
* : NOPENAPPS, NOPENDICT, NOPENRC1, NOPENVIRTEVENT
*
* "FBC" in the comments means that the feature exists only for
* backward compatibility. It should not be used by new applications.
\****************************************************************************/
#ifndef _INC_PENWIN
#pragma option push -b -a8 -pc -A- /*P_O_Push __BORLANDC__: This file was forgotten in the PSDK so it was taken from the VC++ 6.0 */
#define _INC_PENWIN
#include <windows.h>
#ifndef _WIN32
#ifndef RC_INVOKED
#pragma pack(1)
#endif /* RC_INVOKED */
#endif //!_WIN32
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifndef PENVER /* may be pre-defined; otherwise assume version 2.0 */
#define PENVER 0x0200
#endif //!PENVER
#ifdef _WIN32
#define NOPENAPPS
#define NOPENDICT
#define NOPENRC1
#define NOPENVIRTEVENT
#define NOPENAPIFUN
#endif //_WIN32
#ifndef NOPENAPPS // not available in WIN32
#ifndef RC_INVOKED
#include <skbapi.h>
#endif /* !RC_INVOKED */
#endif /*!NOPENAPPS */
// other subsets:
#ifdef NOPENCTL
#define NOPENBEDIT
#define NOPENIEDIT
#endif /* NOPENCTL */
#ifdef NOPENRES
#define NOPENBMP
#define NOPENCURS
#endif /* NOPENRES */
//////////////////////////////////////////////////////////////////////////////
/****** Definitions 1: for everything including RC compiler *****************/
//---------------------------------------------------------------------------
#ifndef NOPENALC
// Enabled Alphabet:
#define ALC_DEFAULT 0x00000000L // nothing
#define ALC_LCALPHA 0x00000001L // a..z
#define ALC_UCALPHA 0x00000002L // A..Z
#define ALC_NUMERIC 0x00000004L // 0..9
#define ALC_PUNC 0x00000008L // !-;`"?()&.,; and backslash
#define ALC_MATH 0x00000010L // %^*()-+={}<>,/.
#define ALC_MONETARY 0x00000020L // ,.$ or local
#define ALC_OTHER 0x00000040L // @#|_~[]
#define ALC_ASCII 0x00000080L // restrict to 7-bit chars 20..7f
#define ALC_WHITE 0x00000100L // white space
#define ALC_NONPRINT 0x00000200L // sp tab ret ctrl glyphs
#define ALC_DBCS 0x00000400L // allow DBCS variety of SBCS
#define ALC_JIS1 0x00000800L // kanji JPN, ShiftJIS 1 only
#define ALC_GESTURE 0x00004000L // gestures
#define ALC_USEBITMAP 0x00008000L // use rc.rgbfAlc to enable chars
#define ALC_HIRAGANA 0x00010000L // hiragana JPN
#define ALC_KATAKANA 0x00020000L // katakana JPN
#define ALC_KANJI 0x00040000L // kanji JPN, ShiftJIS 1+2+3
#define ALC_GLOBALPRIORITY 0x10000000L
#define ALC_OEM 0x0FF80000L // OEM recognizer-specific
#define ALC_RESERVED 0xE0003000L // avail for future use
#define ALC_NOPRIORITY 0x00000000L // for alcPriority == none
#define ALC_ALPHA\
(ALC_LCALPHA | ALC_UCALPHA) // 0x00000003L
#define ALC_ALPHANUMERIC\
(ALC_ALPHA | ALC_NUMERIC) // 0x00000007L
#define ALC_SYSMINIMUM\
(ALC_ALPHANUMERIC | ALC_PUNC | ALC_WHITE | ALC_GESTURE) // 0x0000410FL
#define ALC_ALL\
(ALC_SYSMINIMUM | ALC_MATH | ALC_MONETARY\
| ALC_OTHER | ALC_NONPRINT) // 0x0000437FL
#define ALC_KANJISYSMINIMUM\
(ALC_SYSMINIMUM | ALC_HIRAGANA | ALC_KATAKANA | ALC_JIS1) // 0x0003490FL
#define ALC_KANJIALL\
(ALC_ALL | ALC_HIRAGANA | ALC_KATAKANA | ALC_KANJI) // 0x0007437FL
#endif /*!NOPENALC */
//---------------------------------------------------------------------------
#ifndef NOPENBEDIT
// box edit styles:
#define BXS_NONE 0x0000U // none
#define BXS_RECT 0x0001U // use rectangle instead of cusp
#define BXS_BOXCROSS 0x0004U // use cross at box center
#define BXS_MASK 0x0007U // mask for above
#endif /*!NOPENBEDIT */
//---------------------------------------------------------------------------
#ifndef NOPENBMP
// Public Bitmaps :
#define OBM_SKBBTNUP 32767
#define OBM_SKBBTNDOWN 32766
#define OBM_SKBBTNDISABLED 32765
#define OBM_ZENBTNUP 32764
#define OBM_ZENBTNDOWN 32763
#define OBM_ZENBTNDISABLED 32762
#define OBM_HANBTNUP 32761
#define OBM_HANBTNDOWN 32760
#define OBM_HANBTNDISABLED 32759
#define OBM_KKCBTNUP 32758
#define OBM_KKCBTNDOWN 32757
#define OBM_KKCBTNDISABLED 32756
#define OBM_SIPBTNUP 32755
#define OBM_SIPBTNDOWN 32754
#define OBM_SIPBTNDISABLED 32753
#define OBM_PTYBTNUP 32752
#define OBM_PTYBTNDOWN 32751
#define OBM_PTYBTNDISABLED 32750
#endif /*!NOPENBMP */
//---------------------------------------------------------------------------
#ifndef NOPENCURS
// Default pen cursor to indicate writing, points northwest
#define IDC_PEN MAKEINTRESOURCE(32631)
// alternate select cursor: upsidedown standard arrow, points southeast
#define IDC_ALTSELECT MAKEINTRESOURCE(32501)
#endif /*!NOPENCURS */
//---------------------------------------------------------------------------
#ifndef NOPENHRC
// special SYV values:
#define SYV_NULL 0x00000000L
#define SYV_UNKNOWN 0x00000001L
#define SYV_EMPTY 0x00000003L
#define SYV_BEGINOR 0x00000010L
#define SYV_ENDOR 0x00000011L
#define SYV_OR 0x00000012L
#define SYV_SOFTNEWLINE 0x00000020L
#define SYV_SPACENULL 0x00010000L // SyvCharacterToSymbol('\0')
// SYV values for gestures:
#define SYV_SELECTFIRST 0x0002FFC0L // . means circle in following
#define SYV_LASSO 0x0002FFC1L // lasso o-tap
#define SYV_SELECTLEFT 0x0002FFC2L // no glyph
#define SYV_SELECTRIGHT 0x0002FFC3L // no glyph
#define SYV_SELECTLAST 0x0002FFCFL // 16 SYVs reserved for selection
#define SYV_CLEARCHAR 0x0002FFD2L // d.
#define SYV_HELP 0x0002FFD3L // no glyph
#define SYV_KKCONVERT 0x0002FFD4L // k.
#define SYV_CLEAR 0x0002FFD5L // d.
#define SYV_INSERT 0x0002FFD6L // ^.
#define SYV_CONTEXT 0x0002FFD7L // m.
#define SYV_EXTENDSELECT 0x0002FFD8L // no glyph
#define SYV_UNDO 0x0002FFD9L // u.
#define SYV_COPY 0x0002FFDAL // c.
#define SYV_CUT 0x0002FFDBL // x.
#define SYV_PASTE 0x0002FFDCL // p.
#define SYV_CLEARWORD 0x0002FFDDL // no glyph
#define SYV_USER 0x0002FFDEL // reserved
#define SYV_CORRECT 0x0002FFDFL // check.
#define SYV_BACKSPACE 0x00020008L // no glyph
#define SYV_TAB 0x00020009L // t.
#define SYV_RETURN 0x0002000DL // n.
#define SYV_SPACE 0x00020020L // s.
// Application specific gestures, Circle a-z and Circle A-Z:
#define SYV_APPGESTUREMASK 0x00020000L
#define SYV_CIRCLEUPA 0x000224B6L // map into Unicode space
#define SYV_CIRCLEUPZ 0x000224CFL // for circled letters
#define SYV_CIRCLELOA 0x000224D0L
#define SYV_CIRCLELOZ 0x000224E9L
// SYV definitions for shapes:
#define SYV_SHAPELINE 0x00040001L
#define SYV_SHAPEELLIPSE 0x00040002L
#define SYV_SHAPERECT 0x00040003L
#define SYV_SHAPEMIN SYV_SHAPELINE // alias
#define SYV_SHAPEMAX SYV_SHAPERECT // alias
// SYV classes:
#define SYVHI_SPECIAL 0
#define SYVHI_ANSI 1
#define SYVHI_GESTURE 2
#define SYVHI_KANJI 3
#define SYVHI_SHAPE 4
#define SYVHI_UNICODE 5
#define SYVHI_VKEY 6
#endif //!NOPENHRC
//---------------------------------------------------------------------------
#ifndef NOPENIEDIT
// IEdit Pop-up Menu Command Items
#define IEM_UNDO 1 // Undo
#define IEM_CUT 2 // Cut
#define IEM_COPY 3 // Copy
#define IEM_PASTE 4 // Paste
#define IEM_CLEAR 5 // Clear
#define IEM_SELECTALL 6 // Select All Strokes
#define IEM_ERASE 7 // Use Eraser
#define IEM_PROPERTIES 8 // DoProperties
#define IEM_LASSO 9 // Use Lasso
#define IEM_RESIZE 10 // Resize
#define IEM_USER 100 // first menu item# available to app
// IEdit Style Attributes
#define IES_BORDER 0x0001 // ctl has a border
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -