ipaddr.h

来自「wince下的源代码集合打包」· C头文件 代码 · 共 128 行

H
128
字号
/* Copyright (c) 1991-2000 Microsoft Corporation.  All rights reserved.    ipaddr.h - TCP/IP Address custom control, global definitions*/// Messages sent to IPAddress controls#define	IP_CLEARADDRESS	WM_USER+100	// no parameters#define	IP_SETADDRESS	WM_USER+101	// lparam = TCP/IP address#define IP_GETADDRESS	WM_USER+102	// lresult = TCP/IP address#define IP_SETRANGE	WM_USER+103	// wparam = field, lparam = range#define IP_SETFOCUS	WM_USER+104	// wparam = field// IP Address style bits#define	IP_LEFT		0x00000001L	// left justify fields#define IP_RIGHT	0x00000002L	// right justify fields#define	IP_CENTER	0x00000004L	// center fields#define IP_ZERO		0x00000008L	// Zero fill the fields// The following is a useful macro for passing the range values in the// IP_SETRANGE message.#define	MAKERANGE(low, high)	((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low)))// And this is a useful macro for making the IP Address to be passed// as a LPARAM.#define MAKEIPADDRESS(b1,b2,b3,b4)	((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))/*    defines and Typedefs.*/#define	MAX_IPNOMEMSTRING	30#define MAX_IPCAPTION		30#define MAX_IPRES		256//#define MAX_NAME	63#define NUM_FIELDS	4	// number of fields in an IP Address#define MIN_FIELD1	1	// min allowed value for field 1#define MAX_FIELD1	223	// max allowed value for field 1#define MIN_FIELD2	0	// min for field 2#define MAX_FIELD2	255	// max for field 2#define MIN_FIELD3	0	// min for field 3#define MAX_FIELD3	254	// max for field 3#define MIN_FIELD4      1       // 0 is reserved for broadcast#define MAX_SCOPE_ID	47	// maximum number of characters in scope id#define MAX_SESSIONS	22	// maximum number of sessions#define	SESSION_DIGITS   2	// maximum length of sessions as a string#define DEFAULT_SESSIONS 6	// default number of sessions#define DEFAULT_SOCKETS  4	// default number of sockets//#define MAX_NAME	63	// maximum length of hostname or domain#define MAX_MBSTRING	400	// Maximum length of string for message box.#define MAX_KEY		32	// Maximum length of a key field in a .INI file#define	MAX_NOMEMSTRING	128	// Maximum length of out of memory string#define MAX_CAPTION	80	// Maximum length of caption#define IPADDRESS_CLASS            TEXT("RNA_IPAddress")/* The character that is displayed between address fields. */#define	FILLER		TEXT('.')#define	SZFILLER	TEXT(".")#define SPACE		TEXT(' ')#define BACK_SPACE	8/* Min, max values */#define NUM_FIELDS	4#define CHARS_PER_FIELD	3#define HEAD_ROOM	2	/* space at top of control */#define LEAD_ROOM	2	/* space at front of control */#define MIN_FIELD_VALUE	0	/* default minimum allowable field value */#define MAX_FIELD_VALUE	255	/* default maximum allowable field value *//* All the information unique to one control is stuffed in one of these   structures in global memory and the handle to the memory is stored in the    Windows extra space. */  typedef struct tagFIELD {    HANDLE	hWnd;    FARPROC	lpfnWndProc;    BYTE    byValue; /* current value for this field. */    BYTE	byLow;	/* lowest allowed value for this field. */    BYTE	byHigh;	/* Highest allowed value for this field.*/} FIELD;typedef struct tagCONTROL {    HWND	hwndParent;    UINT	uiFieldWidth;    UINT	uiFillerWidth;    DWORD	dwStyle;	/* Style bits for the control*/    BOOL	fEnabled;    BOOL	fPainted;    BOOL	fInMessageBox;	/* Set when a message box is displayed so that                                   we don't send a EN_KILLFOCUS message when				   we receive the EN_KILLFOCUS message for the				   current field. */    BOOL	fHaveFocus;	/* TRUE if we have the focus, FALSE otherwise.*/    FIELD	Children[NUM_FIELDS];} CONTROL;/* The following macros extract and store the CONTROL structure for a control.*/#define    IPADDRESS_EXTRA            sizeof(HANDLE)#define	GET_CONTROL_HANDLE(hWnd)	((HANDLE)(GetWindowLong((hWnd), 0)))#define SAVE_CONTROL_HANDLE(hWnd,x)	(SetWindowLong((hWnd), 0, (DWORD)x))/* internal IPAddress function prototypes */LONG CALLBACK IPAddrDlgProc(HWND, UINT, WPARAM, LPARAM );LONG CALLBACK IPAddressWndFn( HWND, UINT, WPARAM, LPARAM );LONG CALLBACK IPAddressFieldProc(HWND, UINT, WPARAM, LPARAM);BOOL SwitchFields(CONTROL FAR *, int, int, DWORD, DWORD);void EnterField(FIELD FAR *, DWORD, DWORD);BOOL ExitField(CONTROL FAR *, int iField);void PadField(CONTROL FAR *, int iField);int GetFieldValue(FIELD FAR *);DWORD CheckAddress(DWORD ip);

⌨️ 快捷键说明

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