📄 dvapi.h
字号:
int _CDECL win_disperor(ulong,char *,int,int,int,int,int);
int _CDECL win_eof(ulong);
void _CDECL win_erase(ulong);
void win_frame(dword ,int );
void win_frattr(dword ,int ,int );
void _CDECL win_free(ulong);
void _CDECL win_hcur(ulong);
void win_hide(dword );
void win_leave(dword ,int );
int _CDECL win_len(ulong);
ulong _CDECL win_locate(ulong,int,int);
void win_logattr(dword ,int );
void win_lsize(dword ,word ,word );
void win_maxsize(dword ,word ,word );
ulong _CDECL win_me(void);
void win_minsize(dword ,word ,word );
void win_move(dword ,word ,word );
ulong _CDECL win_new(char *,int,int,int);
void win_notify(dword ,int );
void _CDECL win_nread(ulong,int,char **,int *);
void _CDECL win_open(ulong,int);
void win_origin(dword ,word ,word );
void win_orphan(dword );
void win_paste(dword );
void win_point(dword );
void _CDECL win_poswin(ulong,ulong,int,int,int,int,int);
void _CDECL win_printf(ulong,char *,...);
void _CDECL win_putc(ulong,int,int);
void _CDECL win_read(ulong,char **,int *);
void _CDECL win_redraw(ulong);
void _CDECL win_reorder(ulong,...);
void win_repattr(dword ,int ,int );
void win_repchar(dword ,int ,int );
void win_resize(dword ,word ,word );
void win_scroll(dword ,int ,int ,int ,int ,int ,int );
int _CDECL win_sizeof(ulong);
ulong _CDECL win_stream(ulong,void *);
void _CDECL win_subfrom(ulong,char *,int);
void win_swrite(dword ,byte *);
void win_title(dword ,byte *,int );
void win_top(dword );
void win_topsys(dword );
void win_unhide(dword );
ulong _CDECL win_write(ulong,char *,int);
/********
The following constants are for use as parameters to the
win_allow and win_disallow functions.
********/
#define ALW_HMOVE 0x00 /* horizontal movement of window */
#define ALW_VMOVE 0x01 /* vertical movement of window */
#define ALW_HSIZE 0x02 /* horizontal resize of window */
#define ALW_VSIZE 0x03 /* vertical resize of window */
#define ALW_HSCROLL 0x04 /* horizontal scroll of window */
#define ALW_VSCROLL 0x05 /* vertical scroll of window */
#define ALW_CLOSE 0x06 /* closing of application */
#define ALW_HIDE 0x07 /* hiding of application */
#define ALW_FREEZE 0x08 /* freezing of application */
#define ALW_COPY 0x0E /* copying information from window */
#define ALW_DVMENU 0x10 /* access to DESQview menu */
#define ALW_SWITCH 0x11 /* access to Switch Windows menu */
#define ALW_OPEN 0x12 /* access to Open Window menu */
#define ALW_QUIT 0x13 /* quitting of DESQview */
/********
The following constants are for use as parameters to the
win_notify and win_cancel functions.
********/
#define NTF_HMOVE 0x40 /* horizontal movement of window */
#define NTF_VMOVE 0x41 /* vertical movement of window */
#define NTF_HSIZE 0x42 /* horizontal resize of window */
#define NTF_VSIZE 0x43 /* vertical resize of window */
#define NTF_HSCROLL 0x44 /* horizontal scroll of window */
#define NTF_VSCROLL 0x45 /* vertical scroll of window */
#define NTF_CLOSE 0x46 /* closing of application */
#define NTF_HIDE 0x47 /* hiding of application */
#define NTF_HELP 0x48 /* help is requested */
#define NTF_POINTER 0x49 /* pointer message is sent to application */
#define NTF_FORE 0x4A /* application is made foreground */
#define NTF_BACK 0x4B /* application is made background */
#define NTF_VIDEO 0x4C /* video mode changes */
#define NTF_CUT 0x4D /* Cut is requested */
#define NTF_COPY 0x4E /* Copy is requested */
#define NTF_PASTE 0x4F /* Paste is requested */
#define NTF_DVKEY 0x50 /* DESQview menu is requested */
#define NTF_DVDONE 0x51 /* DESQview request is ended */
#define NTF_DEFAULT 0xAE /* this is default notify window */
/********
Modes passed to the win_poswin function.
********/
#define PSW_SCREEN 0x00 /* offset from current position */
#define PSW_CENTER 0x01 /* center window then offset */
#define PSW_LEFT 0x02 /* left justify window then offset */
#define PSW_RIGHT 0x03 /* right justify window then offset */
/********
Keyboard flag masks passed to key_addto and key_subfrom
********/
#define KBF_FIELD 0x01 /* field mode (vs. keystroke mode) */
#define KBF_CURSOR 0x02 /* hardware cursor enabled */
#define KBF_INSERT 0x04 /* insert mode */
#define KBF_ASYNC 0x08 /* async. menu mode */
#define KBF_ALLESC 0x10 /* all keys go to SETESC routine */
/********
Pointer flag masks passed to ptr_addto and ptr_subfrom
********/
#define PTF_CLICKS 0x01 /* only report clicks */
#define PTF_UPDOWN 0x04 /* give press and release messages */
#define PTF_RELSCR 0x08 /* coords are screen relative */
#define PTF_MULTI 0x10 /* give multi-click messages */
#define PTF_BACK 0x20 /* gives messages even in background */
#define PTF_NOTTOP 0x40 /* gives messages even if not topmost */
#define PTF_HIDE 0x80 /* hide pointer when in window area */
/********
Scroll directions of win_scroll and fld_scroll
********/
#define SCR_UP 0 /* scroll up */
#define SCR_DOWN 1 /* scroll down */
#define SCR_LEFT 2 /* scroll left */
#define SCR_RIGHT 3 /* scroll right */
/********
Field type values for fld_type and qry_type.
********/
#define FLT_INACTIVE 0x00 /* field is inactive */
#define FLT_OUTPUT 0x60 /* output field */
#define FLT_INPUT 0x80 /* user input field */
#define FLT_DESELECT 0xC0 /* deselected field */
#define FLT_SELECT 0xC2 /* selected field */
/********
Structure definition for Field Table Headers
********/
typedef struct field_header {
byte fh_size; /* # of fields */
byte fh_format; /* format */
byte fh_curin; /* current input field */
byte fh_cursel; /* current select field */
byte fh_pntattr; /* pointed-at attribute */
byte fh_selattr; /* selected attribute */
} FHEAD, *FHEADPTR;
/********
Bit assignments for fh_format field of Field Table Headers
********/
#define FTH_KEYSELECT 0x40 /* keystroke selection */
#define FTH_1BUTTON 0x20 /* button 1 mode */
#define FTH_2BUTTON 0x10 /* button 2 mode */
#define FTH_SELFORMAT 0x08 /* select field format */
#define FTH_AUTORESET 0x04 /* auto reset */
#define FTH_MASKDATA 0x03 /* returned data format mask */
#define FTH_MODIFIED 0x03 /* return modified data with headers */
#define FTH_HEADERS 0x02 /* return data with headers */
#define FTH_DATAONLY 0x01 /* return just data */
#define FTH_NODATA 0x00 /* return no data */
/********
Structure definition for Field Table Entries
********/
typedef struct field_entry {
byte fe_srow; /* starting logical row */
byte fe_scol; /* starting logical column */
byte fe_erow; /* ending logical row */
byte fe_ecol; /* ending logical column */
byte fe_type; /* field type/status */
byte fe_key1; /* select field - first select key */
/* also called fe_inmode; input field - control flags */
byte fe_norattr; /* select field - normal attribute */
byte fe_key2; /* select field - second select key */
} FENTRY, *FENTRYPTR;
#define fe_inmode fe_key1 /* alias for fe_key1 */
/********
Bit assignments for fe_type field of Field Table Entries
********/
#define FTE_TYPEMASK 0xC0 /* field type mask */
#define FTE_SELECT 0xC0 /* select field */
#define FTE_INPUT 0x80 /* input field */
#define FTE_OUTPUT 0x40 /* output field */
#define FTE_INACTIVE 0x00 /* inactive field */
#define FTE_PROGOUT 0x20 /* program output field */
#define FTE_CHOSEN 0x02 /* selected flag */
#define FTE_MODIFIED 0x01 /* modified flag */
/********
Bit assignments for fe_inmode field of Field Table Entries
********/
#define FTE_ENTER 0x80 /* auto enter */
#define FTE_SKIP 0x40 /* auto skip */
#define FTE_RIGHTJUST 0x20 /* right justified */
#define FTE_UPPERCASE 0x10 /* uppercase */
#define FTE_CLEARDFLT 0x08 /* clear default */
#define FTE_VALIDATE 0x04 /* validate */
/********
Macro to aid in construction of Field Tables
********/
#define ftab(size,format,curin,cursel,pntattr,selattr) 0x1B,0,\
(size*8+9)%256,(size*8+9)/256,0xE5,0x18,0xFF,\
size,format,curin,cursel,pntattr,selattr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -