📄 winctl.h
字号:
/* winctl.h*/
/*
* Header file for builtin controls
* This currently includes button, progressbar, listbox, edit
*/
/* entry points*/
int WINAPI MwRegisterButtonControl(HINSTANCE hInstance);
int WINAPI MwRegisterListboxControl(HINSTANCE hInstance);
int WINAPI MwRegisterEditControl(HINSTANCE hInstance);
int WINAPI MwRegisterStaticControl(HINSTANCE hInstance);
int WINAPI MwRegisterProgressBarControl(HINSTANCE hInstance);
int WINAPI MwRegisterComboboxControl(HINSTANCE hInstance);
int WINAPI MwRegisterScrollbarControl(HINSTANCE hInstance);
int WINAPI MwRegisterMEditControl(HINSTANCE hInstance);
/* temporarily in button.c*/
void WINAPI CheckRadioButton(HWND hDlg, int nIDFirst,int nIDLast,
int nIDCheckButton);
/* Dialog Codes*/
#define DLGC_WANTARROWS 0x0001 /* Control wants arrow keys */
#define DLGC_WANTTAB 0x0002 /* Control wants tab keys */
#define DLGC_WANTALLKEYS 0x0004 /* Control wants all keys */
#define DLGC_WANTMESSAGE 0x0004 /* Pass message to control */
#define DLGC_HASSETSEL 0x0008 /* Understands EM_SETSEL message */
#define DLGC_DEFPUSHBUTTON 0x0010 /* Default pushbutton */
#define DLGC_UNDEFPUSHBUTTON 0x0020 /* Non-default pushbutton */
#define DLGC_RADIOBUTTON 0x0040 /* Radio button */
#define DLGC_WANTCHARS 0x0080 /* Want WM_CHAR messages */
#define DLGC_STATIC 0x0100 /* Static item: don't include */
#define DLGC_BUTTON 0x2000 /* Button item: can be checked */
/* Button Control Styles*/
#define BS_PUSHBUTTON 0x00000000L
#define BS_DEFPUSHBUTTON 0x00000001L
#define BS_CHECKBOX 0x00000002L
#define BS_AUTOCHECKBOX 0x00000003L
#define BS_RADIOBUTTON 0x00000004L
#define BS_3STATE 0x00000005L
#define BS_AUTO3STATE 0x00000006L
#define BS_GROUPBOX 0x00000007L
#define BS_USERBUTTON 0x00000008L
#define BS_AUTORADIOBUTTON 0x00000009L
#define BS_OWNERDRAW 0x0000000BL
#define BS_LEFTTEXT 0x00000020L
#define BS_TEXT 0x00000000L
#define BS_ICON 0x00000040L
#define BS_BITMAP 0x00000080L
#define BS_LEFT 0x00000100L
#define BS_RIGHT 0x00000200L
#define BS_CENTER 0x00000300L
#define BS_TOP 0x00000400L
#define BS_BOTTOM 0x00000800L
#define BS_VCENTER 0x00000C00L
#define BS_PUSHLIKE 0x00001000L
#define BS_MULTILINE 0x00002000L
#define BS_NOTIFY 0x00004000L
#define BS_FLAT 0x00008000L
#define BS_RIGHTBUTTON BS_LEFTTEXT
/* User Button Notification Codes*/
#define BN_CLICKED 0
#define BN_PAINT 1
#define BN_HILITE 2
#define BN_UNHILITE 3
#define BN_DISABLE 4
#define BN_DOUBLECLICKED 5
#define BN_PUSHED BN_HILITE
#define BN_UNPUSHED BN_UNHILITE
#define BN_DBLCLK BN_DOUBLECLICKED
#define BN_SETFOCUS 6
#define BN_KILLFOCUS 7
/* Button Control Messages*/
#define BM_GETCHECK 0x00F0
#define BM_SETCHECK 0x00F1
#define BM_GETSTATE 0x00F2
#define BM_SETSTATE 0x00F3
#define BM_SETSTYLE 0x00F4
#define BM_CLICK 0x00F5
#define BM_GETIMAGE 0x00F6
#define BM_SETIMAGE 0x00F7
#define BST_UNCHECKED 0x0000
#define BST_CHECKED 0x0001
#define BST_INDETERMINATE 0x0002
#define BST_PUSHED 0x0004
#define BST_FOCUS 0x0008
/* Progress Bar messages*/
#define PBM_SETRANGE 0xF0A0
#define PBM_SETSTEP 0xF0A1
#define PBM_SETPOS 0xF0A2
#define PBM_DELTAPOS 0xF0A3
#define PBM_STEPIT 0xF0A4
/* Progress Bar styles */
#define PBS_NOTIFY 0x0001L
#define PBS_VERTICAL 0x0002L
/* Progress Bar notification code */
#define PBN_REACHMAX 1
#define PBN_REACHMIN 2
/* Listbox messages*/
#define LB_ADDSTRING 0xF180
#define LB_INSERTSTRING 0xF181
#define LB_DELETESTRING 0xF182
#define LB_SELITEMRANGEEX 0xF183
#define LB_RESETCONTENT 0xF184
#define LB_SETSEL 0xF185
#define LB_SETCURSEL 0xF186
#define LB_GETSEL 0xF187
#define LB_GETCURSEL 0xF188
#define LB_GETTEXT 0xF189
#define LB_GETTEXTLEN 0xF18A
#define LB_GETCOUNT 0xF18B
#define LB_SELECTSTRING 0xF18C
#define LB_DIR 0xF18D
#define LB_GETTOPINDEX 0xF18E
#define LB_FINDSTRING 0xF18F
#define LB_GETSELCOUNT 0xF190
#define LB_GETSELITEMS 0xF191
#define LB_SETTABSTOPS 0xF192
#define LB_GETHORIZONTALEXTENT 0xF193
#define LB_SETHORIZONTALEXTENT 0xF194
#define LB_SETCOLUMNWIDTH 0xF195
#define LB_ADDFILE 0xF196
#define LB_SETTOPINDEX 0xF197
#define LB_GETITEMRECT 0xF198
#define LB_GETITEMDATA 0xF199
#define LB_SETITEMDATA 0xF19A
#define LB_SELITEMRANGE 0xF19B
#define LB_SETANCHORINDEX 0xF19C
#define LB_GETANCHORINDEX 0xF19D
#define LB_SETCARETINDEX 0xF19E
#define LB_GETCARETINDEX 0xF19F
#define LB_SETITEMHEIGHT 0xF1A0
#define LB_GETITEMHEIGHT 0xF1A1
#define LB_FINDSTRINGEXACT 0xF1A2
#define LB_SETLOCALE 0xF1A5
#define LB_GETLOCALE 0xF1A6
#define LB_SETCOUNT 0xF1A7
#define LB_INITSTORAGE 0xF1A8
#define LB_ITEMFROMPOINT 0xF1A9
#define LB_SETTEXT 0xF1AA
#define LB_GETCHECKMARK 0xF1AB
#define LB_SETCHECKMARK 0xF1AC
#define LB_GETITEMADDDATA 0xF1AD
#define LB_SETITEMADDDATA 0xF1AE
#define LB_MSGMAX 0xF1B0
/* Listbox styles */
#define LBS_NOTIFY 0x0001L
#define LBS_SORT 0x0002L
#define LBS_NOREDRAW 0x0004L /* not supported*/
#define LBS_MULTIPLESEL 0x0008L
#define LBS_OWNERDRAWFIXED 0x0010L /* nyi*/
#define LBS_OWNERDRAWVARIABLE 0x0020L /* nyi*/
#define LBS_HASSTRINGS 0x0040L /* not supported*/
#define LBS_USETABSTOPS 0x0080L /* nyi*/
#define LBS_NOINTEGRALHEIGHT 0x0100L /* not supported*/
#define LBS_MULTICOLUMN 0x0200L /* nyi*/
#define LBS_WANTKEYBOARDINPUT 0x0400L /* not supported*/
#define LBS_EXTENDEDSEL 0x0800L /* not supported*/
#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
#define LBS_CHECKBOX 0x1000L /* non std*/
#define LBS_USEICON 0x2000L /* non std*/
#define LBS_AUTOCHECK 0x4000L /* non std*/
#define LBS_AUTOCHECKBOX 0x5000L /* non std*/
/* private Microwindows styles for combobox*/
#define LBS_PRELOADED 0x4000L /* Microwindows private*/
#define LBS_COMBOLBOX 0x8000L /* Microwindows private*/
#if 0
#define LBS_DISABLENOSCROLL 0x1000L
#define LBS_NODATA 0x2000L
#define LBS_NOSEL 0x4000L
#endif
/* Listbox Notification Codes */
#define LBN_ERRSPACE (-2)
#define LBN_SELCHANGE 1
#define LBN_DBLCLK 2
#define LBN_SELCANCEL 3
#define LBN_SETFOCUS 4
#define LBN_KILLFOCUS 5
#define LBN_CLICKCHECKMARK 6 /* non std*/
/* Listbox return value */
#define LB_OKAY 0
#define LB_ERR (-1)
#define LB_ERRSPACE (-2)
/* Edit Control Notification Codes*/
#define EN_SETFOCUS 0x0100
#define EN_KILLFOCUS 0x0200
#define EN_CHANGE 0x0300
#define EN_UPDATE 0x0400
#define EN_ERRSPACE 0x0500
#define EN_MAXTEXT 0x0501
#define EN_HSCROLL 0x0601
#define EN_VSCROLL 0x0602
/* Edit Control Styles*/
#define ES_LEFT 0x0000L
#define ES_CENTER 0x0001L
#define ES_RIGHT 0x0002L
#define ES_MULTILINE 0x0004L
#define ES_UPPERCASE 0x0008L
#define ES_LOWERCASE 0x0010L
#define ES_PASSWORD 0x0020L
#define ES_AUTOVSCROLL 0x0040L
#define ES_AUTOHSCROLL 0x0080L
#define ES_NOHIDESEL 0x0100L
#define ES_OEMCONVERT 0x0400L
#define ES_READONLY 0x0800L
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -