⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpcwin.h

📁 模拟协处理器功能的 C 语言源码  
💻 H
📖 第 1 页 / 共 2 页
字号:
/*--------------------------------------------------------------------
-                     Copyright (C) 1988-1992
-                         SimpleSoft Inc.
-
- Written by..... Kevin Dahl
- Module name.... fpwin.h
- Date created... 5/5/91
- Purpose........
-
--------------------------------------------------------------------*/

#ifndef FPCWIN
#define FPCWIN

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <malloc.h>
#include <dos.h>
#include <time.h>
#include <conio.h>
#include <fpclib.h>

/*--------------------------------------------------------------------
-
--------------------------------------------------------------------*/

typedef          char    CHAR;     /* ch  */
typedef          short   SHORT;    /* s   */
typedef          long    LONG;     /* l   */

typedef unsigned char    UCHAR;    /* uch */
typedef unsigned short   USHORT;   /* us  */
typedef unsigned long    ULONG;    /* ul  */

typedef unsigned char    BYTE;     /* b   */

typedef unsigned char   *PSZ;
typedef unsigned char   *PCH;

typedef BYTE            *PBYTE;

typedef CHAR            *PCHAR;
typedef SHORT           *PSHORT;
typedef LONG            *PLONG;

typedef UCHAR           *PUCHAR;
typedef USHORT          *PUSHORT;
typedef ULONG           *PULONG;

typedef unsigned short   BOOL;        /* f         */
typedef BOOL            *PBOOL;

typedef unsigned short   SHANDLE;
typedef VOID FAR        *LHANDLE;
typedef VOID FAR        *MPARAM;      /* msg param */

typedef LHANDLE          HWND;        /* hwnd      */
typedef HWND            *PHWND;
typedef LHANDLE          HMQ;         /* hmq       */
typedef LHANDLE          HAB;         /* hab       */

typedef VOID FAR        *MPARAM;      /* mp        */
typedef MPARAM FAR      *PMPARAM;     /* pmp       */

typedef VOID FAR        *MRESULT;     /* mres      */
typedef MRESULT FAR     *PMRESULT;    /* pmres     */

typedef USHORT           HMODULE;     /* hmod      */
typedef HMODULE FAR     *PHMODULE;

typedef VOID FAR        *PVOID;

/*--------------------------------------------------------------------
-
--------------------------------------------------------------------*/

#define INT_TIMER               0x08
#define INT_KBD                 0x09
#define INT_BIOSKBD             0x16

#define SYSQMAXEVENTS           50
#define DEFAULT_QUEUE_SIZE      10;

/*--------------------------------------------------------------------
-
--------------------------------------------------------------------*/

#define TRUE                    (BOOL) 1
#define FALSE                   (BOOL) 0

/*--------------------------------------------------------------------
- MouGetEventMask/MouSetEventMask events
--------------------------------------------------------------------*/

#define MOUSE                   0x007f
#define MOUSE_MOTION            0x0001
#define MOUSE_BN1_DOWN          0x0002
#define MOUSE_BN1_UP            0x0004
#define MOUSE_BN2_DOWN          0x0008
#define MOUSE_BN2_UP            0x0010
#define MOUSE_BN3_DOWN          0x0020
#define MOUSE_BN3_UP            0x0040

#define MOUSE_BN_DOWN           0x002A
#define MOUSE_BN_UP             0x0054

/*--------------------------------------------------------------------
- Keyboard Shift Key masks.
--------------------------------------------------------------------*/

#define INSKEY                  0x80
#define CAPSLOCK                0x40
#define NUMLOCK                 0x20
#define SCROLLLOCK              0x10
#define ALTKEY                  0x08
#define CTRLKEY                 0x04
#define BSHFTKEY                0x03
#define LSHFTKEY                0x02
#define RSHFTKEY                0x01

/*--------------------------------------------------------------------
- Messages
--------------------------------------------------------------------*/

#define WM_NULL                 0x0000


#define WM_CLOSE                0x0029
#define WM_QUIT 		0x002a

/*--------------------------------------------------------------------
- Mouse input messages
--------------------------------------------------------------------*/

#define WM_MOUSEFIRST           0x0070
#define WM_MOUSELAST            0x0079

#define WM_BUTTONCLICKFIRST	0x0071
#define WM_BUTTONCLICKLAST	0x0079

#define WM_MOUSEMOVE		0x0070
#define WM_BUTTON1DOWN          0x0071
#define WM_BUTTON1UP            0x0072
#define WM_BUTTON1DBLCLK        0x0073
#define WM_BUTTON2DOWN          0x0074
#define WM_BUTTON2UP		0x0075
#define WM_BUTTON2DBLCLK	0x0076
#define WM_BUTTON3DOWN          0x0077
#define WM_BUTTON3UP		0x0078
#define WM_BUTTON3DBLCLK	0x0079

/*--------------------------------------------------------------------
- WM_HITTEST return codes
--------------------------------------------------------------------*/

#define HT_NORMAL		0
#define HT_TRANSPARENT		(-1)
#define HT_DISCARD		(-2)
#define HT_ERROR		(-3)

/*--------------------------------------------------------------------
- Key/Character input messages
--------------------------------------------------------------------*/

#define WM_CHAR                 0x007a
#define WM_VIOCHAR		0x007b

/*--------------------------------------------------------------------
- WM_CHAR fs field bits
--------------------------------------------------------------------*/

#define KC_CHAR 		0x0001
#define KC_VIRTUALKEY           0x0002
#define KC_SCANCODE             0x0004
#define KC_SHIFT                0x0008
#define KC_CTRL                 0x0010
#define KC_ALT                  0x0020
#define KC_KEYUP                0x0040
#define KC_PREVDOWN             0x0080
#define KC_LONEKEY              0x0100
#define KC_DEADKEY              0x0200
#define KC_COMPOSITE            0x0400
#define KC_INVALIDCOMP		0x0800

/*--------------------------------------------------------------------
- Reserve a range of messages for help manager.  This range includes
- public messages, defined below, and private ones, which need to be
- reserved here to prevent clashing with application messages
--------------------------------------------------------------------*/

#define WM_HELPBASE		0x0F00 /* Start of msgs for help manager */
#define WM_HELPTOP		0x0FFF /* End of msgs for help manager	 */

#define WM_USER 		0x1000

/*--------------------------------------------------------------------
- Virtual key values
--------------------------------------------------------------------*/

#define VK_BUTTON1		0x01
#define VK_BUTTON2		0x02
#define VK_BUTTON3		0x03
#define VK_BREAK		0x04
#define VK_BACKSPACE		0x05
#define VK_TAB			0x06
#define VK_BACKTAB		0x07
#define VK_NEWLINE		0x08
#define VK_SHIFT		0x09
#define VK_CTRL 		0x0A
#define VK_ALT			0x0B
#define VK_ALTGRAF		0x0C
#define VK_PAUSE		0x0D
#define VK_CAPSLOCK		0x0E
#define VK_ESC			0x0F
#define VK_SPACE		0x10
#define VK_PAGEUP		0x11
#define VK_PAGEDOWN		0x12
#define VK_END			0x13
#define VK_HOME 		0x14
#define VK_LEFT 		0x15
#define VK_UP			0x16
#define VK_RIGHT		0x17
#define VK_DOWN 		0x18
#define VK_PRINTSCRN		0x19
#define VK_INSERT		0x1A
#define VK_DELETE		0x1B
#define VK_SCRLLOCK		0x1C
#define VK_NUMLOCK		0x1D
#define VK_ENTER		0x1E
#define VK_SYSRQ		0x1F
#define VK_F1			0x20
#define VK_F2			0x21
#define VK_F3			0x22
#define VK_F4			0x23
#define VK_F5			0x24
#define VK_F6			0x25
#define VK_F7			0x26
#define VK_F8			0x27
#define VK_F9			0x28
#define VK_F10			0x29
#define VK_F11			0x2A
#define VK_F12			0x2B
#define VK_F13			0x2C
#define VK_F14			0x2D
#define VK_F15			0x2E
#define VK_F16			0x2F
#define VK_F17			0x30
#define VK_F18			0x31
#define VK_F19			0x32
#define VK_F20			0x33
#define VK_F21			0x34
#define VK_F22			0x35
#define VK_F23			0x36
#define VK_F24			0x37

#define VK_MENU                 VK_F10

#define VK_DBCSFIRST            0x0080
#define VK_DBCSLAST		0x00ff

#define VK_USERFIRST		0x0100
#define VK_USERLAST		0x01ff

/*--------------------------------------------------------------------
- system variable access contants.
--------------------------------------------------------------------*/

#define SV_SWAPBUTTON           0
#define SV_DBLCLKTIME		1
#define SV_CXDBLCLK		2
#define SV_CYDBLCLK		3
#define SV_CXSIZEBORDER 	4
#define SV_CYSIZEBORDER 	5
#define SV_ALARM		6

/*--------------------------------------------------------------------
- WinPeekMsg() constants
--------------------------------------------------------------------*/

#define PM_REMOVE		0x0001
#define PM_NOREMOVE		0x0000

/*--------------------------------------------------------------------
-
--------------------------------------------------------------------*/

#define HWND_DESKTOP            (HWND)1
#define HWND_OBJECT		(HWND)2
#define HWND_TOP                (HWND)3
#define HWND_BOTTOM		(HWND)4
#define HWND_THREADCAPTURE      (HWND)5

/*--------------------------------------------------------------------
- Standard Window Styles
--------------------------------------------------------------------*/

#define WS_VISIBLE		0x80000000L
#define WS_DISABLED		0x40000000L
#define WS_CLIPCHILDREN 	0x20000000L
#define WS_CLIPSIBLINGS 	0x10000000L
#define WS_PARENTCLIP		0x08000000L
#define WS_SAVEBITS		0x04000000L
#define WS_SYNCPAINT		0x02000000L
#define WS_MINIMIZED		0x01000000L
#define WS_MAXIMIZED		0x00800000L

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -