📄 osdcommctrl.h
字号:
} COLORSCHEME, *LPCOLORSCHEME;
/**************************************************************************
* Drag List control
*/
typedef struct tagDRAGLISTINFO
{
UINT uNotification;
HWND hWnd;
POINT ptCursor;
} DRAGLISTINFO, *LPDRAGLISTINFO;
#define DL_BEGINDRAG (WM_USER+133)
#define DL_DRAGGING (WM_USER+134)
#define DL_DROPPED (WM_USER+135)
#define DL_CANCELDRAG (WM_USER+136)
#define DL_CURSORSET 0
#define DL_STOPCURSOR 1
#define DL_COPYCURSOR 2
#define DL_MOVECURSOR 3
#define DRAGLISTMSGSTRING "commctrl_DragListMsg"
BOOL WINAPI MakeDragList (HWND);
VOID WINAPI DrawInsert (HWND, HWND, INT);
INT WINAPI LBItemFromPt (HWND, POINT, BOOL);
/* UpDown */
#define UPDOWN_CLASS "msctls_updown32"
typedef struct _UDACCEL
{
UINT nSec;
UINT nInc;
} UDACCEL, *LPUDACCEL;
#define UD_MAXVAL 0x7fff
#define UD_MINVAL 0x8001
#define UDS_WRAP 0x0001
#define UDS_SETBUDDYINT 0x0002
#define UDS_ALIGNRIGHT 0x0004
#define UDS_ALIGNLEFT 0x0008
#define UDS_AUTOBUDDY 0x0010
#define UDS_ARROWKEYS 0x0020
#define UDS_HORZ 0x0040
#define UDS_NOTHOUSANDS 0x0080
#define UDS_HOTTRACK 0x0100
#define UDN_FIRST (0U-721)
#define UDN_LAST (0U-740)
#define UDN_DELTAPOS (UDN_FIRST-1)
#define UDM_SETRANGE (WM_USER+101)
#define UDM_GETRANGE (WM_USER+102)
#define UDM_SETPOS (WM_USER+103)
#define UDM_GETPOS (WM_USER+104)
#define UDM_SETBUDDY (WM_USER+105)
#define UDM_GETBUDDY (WM_USER+106)
#define UDM_SETACCEL (WM_USER+107)
#define UDM_GETACCEL (WM_USER+108)
#define UDM_SETBASE (WM_USER+109)
#define UDM_GETBASE (WM_USER+110)
#define UDM_SETRANGE32 (WM_USER+111)
#define UDM_GETRANGE32 (WM_USER+112)
#define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define UDM_SETPOS32 (WM_USER+113)
#define UDM_GETPOS32 (WM_USER+114)
#define NMUPDOWN NM_UPDOWN
#define LPNMUPDOWN LPNM_UPDOWN
typedef struct tagNM_UPDOWN
{
NMHDR hdr;
int iPos;
int iDelta;
} NM_UPDOWN, *LPNM_UPDOWN;
HWND WINAPI CreateUpDownControl (DWORD, INT, INT, INT, INT,
HWND, INT, HINSTANCE, HWND,
INT, INT, INT);
//Select Control
#define OPS_LABELLEFT 0x00000001
#define OPS_LABELRIGHT 0x00000002
#define OPS_LABELCENTER 0x00000004
#define OPS_STYLEMASK 0x000000FF
#define OPS_OWNERDRAW 0x00000100
#define OPS_NOLABEL 0x00000200
#define OPS_SHOWARROWALWAYS 0x00000400
#define OPS_HASSTRINGS 0x80000000
#define ODT_OPTIONS 0x10
#define OPT_INITSTORAGE (WM_USER+120)
#define OPT_ADDSTRING (WM_USER+121)
#define OPT_GETITEMDATA (WM_USER+122)
#define OPT_SETITEMDATA (WM_USER+123)
#define OPT_SELECTEITEM (WM_USER+124)
#define OPT_GETCURSEL (WM_USER+125)
#define OPT_SETCURSEL (WM_USER+126)
#define OPT_SETLABELEWIDTH (WM_USER+127)
#define OPT_GETLABELEWIDTH (WM_USER+128)
#define OPN_SELCHANGE 1
#define OPN_SETFOCUS 2
#define OPN_LOSEFOCUS 4
/* Progress Bar */
#define PROGRESS_CLASS "msctls_progress32"
#define PBM_SETRANGE (WM_USER+1)
#define PBM_SETPOS (WM_USER+2)
#define PBM_DELTAPOS (WM_USER+3)
#define PBM_SETSTEP (WM_USER+4)
#define PBM_STEPIT (WM_USER+5)
#define PBM_SETRANGE32 (WM_USER+6)
#define PBM_GETRANGE (WM_USER+7)
#define PBM_GETPOS (WM_USER+8)
#define PBM_SETBARCOLOR (WM_USER+9)
#define PBM_SETMARQUEE (WM_USER+10)
#define PBM_SETBKCOLOR CCM_SETBKCOLOR
#define PBS_SMOOTH 0x01
#define PBS_VERTICAL 0x04
#define PBS_MARQUEE 0x08
typedef struct
{
INT iLow;
INT iHigh;
} PBRANGE, *PPBRANGE;
/* ImageList */
struct _IMAGELIST;
typedef struct _IMAGELIST *HIMAGELIST;
#define CLR_NONE 0xFFFFFFFF
#define CLR_DEFAULT 0xFF000000
#define CLR_HILIGHT CLR_DEFAULT
#define ILC_MASK 0x0001
#define ILC_COLOR 0x0000
#define ILC_COLORDDB 0x00FE
#define ILC_COLOR4 0x0004
#define ILC_COLOR8 0x0008
#define ILC_COLOR16 0x0010
#define ILC_COLOR24 0x0018
#define ILC_COLOR32 0x0020
#define ILC_PALETTE 0x0800 /* no longer supported by M$ */
#define ILC_MIRROR 0x2000
#define ILC_PERITEMMIRROR 0x8000
#define ILD_NORMAL 0x0000
#define ILD_TRANSPARENT 0x0001
#define ILD_BLEND25 0x0002
#define ILD_BLEND50 0x0004
#define ILD_MASK 0x0010
#define ILD_IMAGE 0x0020
#define ILD_ROP 0x0040
#define ILD_OVERLAYMASK 0x0F00
#define ILD_PRESERVEALPHA 0x1000
#define ILD_SCALE 0x2000
#define ILD_DPISCALE 0x4000
#define ILD_SELECTED ILD_BLEND50
#define ILD_FOCUS ILD_BLEND25
#define ILD_BLEND ILD_BLEND50
#define INDEXTOOVERLAYMASK(i) ((i)<<8)
#define INDEXTOSTATEIMAGEMASK(i) ((i)<<12)
#define ILCF_MOVE (0x00000000)
#define ILCF_SWAP (0x00000001)
#define ILS_NORMAL 0x0000
#define ILS_GLOW 0x0001
#define ILS_SHADOW 0x0002
#define ILS_SATURATE 0x0004
#define ILS_ALPHA 0x0008
typedef struct _IMAGEINFO
{
HBITMAP hbmImage;
HBITMAP hbmMask;
INT Unused1;
INT Unused2;
RECT rcImage;
} IMAGEINFO, *LPIMAGEINFO;
typedef struct _IMAGELISTDRAWPARAMS
{
DWORD cbSize;
HIMAGELIST himl;
INT i;
HDC hdcDst;
INT x;
INT y;
INT cx;
INT cy;
INT xBitmap; /* x offest from the upperleft of bitmap */
INT yBitmap; /* y offset from the upperleft of bitmap */
COLORREF rgbBk;
COLORREF rgbFg;
UINT fStyle;
DWORD dwRop;
DWORD fState;
DWORD Frame;
DWORD crEffect;
} IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;
INT WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
INT WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,INT,INT,INT);
BOOL WINAPI ImageList_Copy(HIMAGELIST,INT,HIMAGELIST,INT,UINT);
HIMAGELIST WINAPI ImageList_Create(INT,INT,UINT,INT,INT);
BOOL WINAPI ImageList_Destroy(HIMAGELIST);
BOOL WINAPI ImageList_DragEnter(HWND,INT,INT);
BOOL WINAPI ImageList_DragLeave(HWND);
BOOL WINAPI ImageList_DragMove(INT,INT);
BOOL WINAPI ImageList_DragShowNolock (BOOL);
BOOL WINAPI ImageList_Draw(HIMAGELIST,INT,HDC,INT,INT,UINT);
BOOL WINAPI ImageList_DrawEx(HIMAGELIST,INT,HDC,INT,INT,INT,
INT,COLORREF,COLORREF,UINT);
BOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST);
VOID WINAPI ImageList_EndDrag(VOID);
COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
HIMAGELIST WINAPI ImageList_GetDragImage(POINT*,POINT*);
HICON WINAPI ImageList_GetIcon(HIMAGELIST,INT,UINT);
BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,INT*,INT*);
INT WINAPI ImageList_GetImageCount(HIMAGELIST);
BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,INT,IMAGEINFO*);
BOOL WINAPI ImageList_GetImageRect(HIMAGELIST,INT,LPRECT);
HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,INT,INT,
COLORREF,UINT,UINT);
//HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,INT,INT,COLORREF,UINT,UINT);
#define ImageList_LoadImage WINELIB_NAME_AW(ImageList_LoadImage)
HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,INT,HIMAGELIST,INT,INT,INT);
BOOL WINAPI ImageList_Remove(HIMAGELIST,INT);
BOOL WINAPI ImageList_Replace(HIMAGELIST,INT,HBITMAP,HBITMAP);
INT WINAPI ImageList_ReplaceIcon(HIMAGELIST,INT,HICON);
COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,INT,INT,INT);
BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,INT,INT);
BOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT,INT);
#ifdef __IStream_INTERFACE_DEFINED__
HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
BOOL WINAPI ImageList_Write(HIMAGELIST, LPSTREAM);
#endif
#define ImageList_AddIcon(himl,hicon) ImageList_ReplaceIcon(himl,-1,hicon)
#define ImageList_ExtractIcon(hi,himl,i) ImageList_GetIcon(himl,i,0)
#define ImageList_LoadBitmap(hi,lpbmp,cx,cGrow,crMask) \
ImageList_LoadImage(hi,lpbmp,cx,cGrow,crMask,IMAGE_BITMAP,0)
#define ImageList_RemoveAll(himl) ImageList_Remove(himl,-1)
#ifndef WM_MOUSEHOVER
#define WM_MOUSEHOVER 0x02A1
#define WM_MOUSELEAVE 0x02A3
#endif
#ifndef TME_HOVER
#define TME_HOVER 0x00000001
#define TME_LEAVE 0x00000002
#define TME_NONCLIENT 0x00000010
#define TME_QUERY 0x40000000
#define TME_CANCEL 0x80000000
#define HOVER_DEFAULT 0xFFFFFFFF
typedef struct tagTRACKMOUSEEVENT {
DWORD cbSize;
DWORD dwFlags;
HWND hwndTrack;
DWORD dwHoverTime;
} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
#endif
BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);
/* Flat Scrollbar control */
#define FLATSB_CLASS "flatsb_class32"
#define WSB_PROP_CYVSCROLL 0x00000001L
#define WSB_PROP_CXHSCROLL 0x00000002L
#define WSB_PROP_CYHSCROLL 0x00000004L
#define WSB_PROP_CXVSCROLL 0x00000008L
#define WSB_PROP_CXHTHUMB 0x00000010L
#define WSB_PROP_CYVTHUMB 0x00000020L
#define WSB_PROP_VBKGCOLOR 0x00000040L
#define WSB_PROP_HBKGCOLOR 0x00000080L
#define WSB_PROP_VSTYLE 0x00000100L
#define WSB_PROP_HSTYLE 0x00000200L
#define WSB_PROP_WINSTYLE 0x00000400L
#define WSB_PROP_PALETTE 0x00000800L
#define WSB_PROP_MASK 0x00000FFFL
#define FSB_REGULAR_MODE 0
#define FSB_ENCARTA_MODE 1
#define FSB_FLAT_MODE 2
BOOL WINAPI FlatSB_EnableScrollBar(HWND, INT, UINT);
BOOL WINAPI FlatSB_ShowScrollBar(HWND, INT, BOOL);
BOOL WINAPI FlatSB_GetScrollRange(HWND, INT, LPINT, LPINT);
BOOL WINAPI FlatSB_GetScrollInfo(HWND, INT, LPSCROLLINFO);
INT WINAPI FlatSB_GetScrollPos(HWND, INT);
BOOL WINAPI FlatSB_GetScrollProp(HWND, INT, LPINT);
INT WINAPI FlatSB_SetScrollPos(HWND, INT, INT, BOOL);
INT WINAPI FlatSB_SetScrollInfo(HWND, INT, LPSCROLLINFO, BOOL);
INT WINAPI FlatSB_SetScrollRange(HWND, INT, INT, INT, BOOL);
BOOL WINAPI FlatSB_SetScrollProp(HWND, UINT, INT, BOOL);
BOOL WINAPI InitializeFlatSB(HWND);
HRESULT WINAPI UninitializeFlatSB(HWND);
/* Subclassing stuff */
typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND, UINT, WPARAM, LPARAM, UINT, DWORD);
BOOL WINAPI SetWindowSubclass(HWND, SUBCLASSPROC, UINT, DWORD);
BOOL WINAPI GetWindowSubclass(HWND, SUBCLASSPROC, UINT, DWORD*);
BOOL WINAPI RemoveWindowSubclass(HWND, SUBCLASSPROC, UINT);
LRESULT WINAPI DefSubclassProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI DrawShadowText(HDC, LPCWSTR, UINT, RECT*, DWORD, COLORREF, COLORREF, int, int);
/* Header control */
#define WC_HEADER "SysHeader32"
#define HDS_HORZ 0x0000
#define HDS_BUTTONS 0x0002
#define HDS_HOTTRACK 0x0004
#define HDS_HIDDEN 0x0008
#define HDS_DRAGDROP 0x0040
#define HDS_FULLDRAG 0x0080
#define HDS_FILTERBAR 0x0100
#define HDS_FLAT 0x0200
#define HDI_WIDTH 0x0001
#define HDI_HEIGHT HDI_WIDTH
#define HDI_TEXT 0x0002
#define HDI_FORMAT 0x0004
#define HDI_LPARAM 0x0008
#define HDI_BITMAP 0x0010
#define HDI_IMAGE 0x0020
#define HDI_DI_SETITEM 0x0040
#define HDI_ORDER 0x0080
#define HDI_FILTER 0x0100
#define HDF_LEFT 0x0000
#define HDF_RIGHT 0x0001
#define HDF_CENTER 0x0002
#define HDF_JUSTIFYMASK 0x0003
#define HDF_RTLREADING 0x0004
#define HDF_SORTDOWN 0x0200
#define HDF_SORTUP 0x0400
#define HDF_IMAGE 0x0800
#define HDF_BITMAP_ON_RIGHT 0x1000
#define HDF_BITMAP 0x2000
#define HDF_STRING 0x4000
#define HDF_OWNERDRAW 0x8000
#define HHT_NOWHERE 0x0001
#define HHT_ONHEADER 0x0002
#define HHT_ONDIVIDER 0x0004
#define HHT_ONDIVOPEN 0x0008
#define HHT_ONFILTER 0x0010
#define HHT_ONFILTERBUTTON 0x0020
#define HHT_ABOVE 0x0100
#define HHT_BELOW 0x0200
#define HHT_TORIGHT 0x0400
#define HHT_TOLEFT 0x0800
#define HDM_FIRST 0x1200
#define HDM_GETITEMCOUNT (HDM_FIRST+0)
#define HDM_INSERTITEMA (HDM_FIRST+1)
#define HDM_INSERTITEMW (HDM_FIRST+10)
#define HDM_INSERTITEM WINELIB_NAME_AW(HDM_INSERTITEM)
#define HDM_DELETEITEM (HDM_FIRST+2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -