📄 winuser.h
字号:
WS_SYSMENU | \ WS_THICKFRAME | \ WS_MINIMIZEBOX | \ WS_MAXIMIZEBOX)#define WS_POPUPWINDOW (WS_POPUP | \ WS_BORDER | \ WS_SYSMENU)#define WS_CHILDWINDOW (WS_CHILD)/* * Extended Window Styles */#define WS_EX_DLGMODALFRAME 0x00000001L#define WS_EX_NOPARENTNOTIFY 0x00000004L#define WS_EX_TOPMOST 0x00000008L#define WS_EX_ACCEPTFILES 0x00000010L#define WS_EX_TRANSPARENT 0x00000020L#define WS_EX_MDICHILD 0x00000040L#define WS_EX_TOOLWINDOW 0x00000080L#define WS_EX_WINDOWEDGE 0x00000100L#define WS_EX_CLIENTEDGE 0x00000200L#define WS_EX_CONTEXTHELP 0x00000400L#define WS_EX_RIGHT 0x00001000L#define WS_EX_LEFT 0x00000000L#define WS_EX_RTLREADING 0x00002000L#define WS_EX_LTRREADING 0x00000000L#define WS_EX_LEFTSCROLLBAR 0x00004000L#define WS_EX_RIGHTSCROLLBAR 0x00000000L#define WS_EX_CONTROLPARENT 0x00010000L#define WS_EX_STATICEDGE 0x00020000L#define WS_EX_APPWINDOW 0x00040000L#define WS_EX_LAYERED 0x00080000L#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)#define CW_USEDEFAULT ((int)0x80000000)#define HWND_DESKTOP ((HWND)0)#define CreateWindow(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)\ CreateWindowEx(0L, lpClassName, lpWindowName, dwStyle, x, y,\ nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)HWND WINAPI CreateWindowEx(DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hwndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);BOOL WINAPI DestroyWindow(HWND hwnd);BOOL WINAPI IsWindow(HWND hwnd);#define IsWindowVisible(hwnd) ((BOOL)((hwnd)->unmapcount == 0))/* * ShowWindow() Commands */#define SW_HIDE 0#define SW_SHOWNORMAL 1#define SW_NORMAL 1#define SW_SHOWMINIMIZED 2#define SW_SHOWMAXIMIZED 3#define SW_MAXIMIZE 3#define SW_SHOWNOACTIVATE 4#define SW_SHOW 5#define SW_MINIMIZE 6#define SW_SHOWMINNOACTIVE 7#define SW_SHOWNA 8#define SW_RESTORE 9#define SW_SHOWDEFAULT 10#define SW_FORCEMINIMIZE 11#define SW_MAX 11BOOL WINAPI ShowWindow(HWND hwnd, int nCmdShow);BOOL WINAPI InvalidateRect(HWND hwnd, CONST RECT *lpRect, BOOL bErase);BOOL WINAPI InvalidateRgn(HWND hwnd, HRGN hrgn, BOOL bErase);BOOL WINAPI ValidateRect(HWND hwnd, CONST RECT *lprc);BOOL WINAPI ValidateRgn(HWND hwnd, HRGN hrgn);BOOL WINAPI UpdateWindow(HWND hwnd);BOOL WINAPI SetLayeredWindowAttributes(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);#define LWA_COLORKEY 0x00000001#define LWA_ALPHA 0x00000002HWND WINAPI GetFocus(VOID);HWND WINAPI SetFocus(HWND hwnd);BOOL WINAPI SetForegroundWindow(HWND hwnd);HWND WINAPI SetActiveWindow(HWND hwnd);HWND WINAPI GetActiveWindow(VOID);BOOL WINAPI BringWindowToTop(HWND hwnd);HWND WINAPI GetDesktopWindow(VOID);HWND WINAPI GetParent(HWND hwnd);BOOL WINAPI EnableWindow(HWND hwnd, BOOL bEnable);#define IsWindowEnabled(hwnd) ((BOOL)(((hwnd)->style&WS_DISABLED) == 0))BOOL WINAPI AdjustWindowRectEx(LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle);BOOL WINAPI GetClientRect(HWND hwnd, LPRECT lpRect);BOOL WINAPI GetWindowRect(HWND hwnd, LPRECT lpRect);BOOL WINAPI ClientToScreen(HWND hwnd, LPPOINT lpPoint);BOOL WINAPI ScreenToClient(HWND hwnd, LPPOINT lpPoint);int WINAPI MapWindowPoints(HWND hwndFrom, HWND hwndTo, LPPOINT lpPoints, UINT cPoints);BOOL WINAPI SetRect(LPRECT lprc,int xLeft,int yTop,int xRight,int yBottom);BOOL WINAPI SetRectEmpty(LPRECT lprc);BOOL WINAPI CopyRect(LPRECT lprcDst, CONST RECT *lprcSrc);BOOL WINAPI IsRectEmpty(CONST RECT *lprc);BOOL WINAPI InflateRect(LPRECT lprc, int dx, int dy);BOOL WINAPI OffsetRect(LPRECT lprc, int dx, int dy);/* The bcc compiler doesn't work passing structs by value, so we have this*/#if ELKS#define PtInRect(lprc,pt) MwPTINRECT(lprc, *(long *)&(pt))#else#define PtInRect(lprc,pt) MwPTINRECT(lprc, pt)#endifBOOL WINAPI MwPTINRECT(CONST RECT *lprc, POINT pt);/* * Window field offsets for GetWindowLong() */#define GWL_WNDPROC (-4)#define GWL_HINSTANCE (-6)#define GWL_HWNDPARENT (-8)#define GWL_STYLE (-16)#define GWL_EXSTYLE (-20)#define GWL_USERDATA (-21)#define GWL_ID (-12)/* * Class field offsets for GetClassLong() */#define GCL_MENUNAME (-8)#define GCL_HBRBACKGROUND (-10)#define GCL_HCURSOR (-12)#define GCL_HICON (-14)#define GCL_HMODULE (-16)#define GCL_CBWNDEXTRA (-18)#define GCL_CBCLSEXTRA (-20)#define GCL_WNDPROC (-24)#define GCL_STYLE (-26)#define GCW_ATOM (-32)#define GCL_HICONSM (-34)LONG WINAPI GetWindowLong(HWND hwnd, int nIndex);LONG WINAPI SetWindowLong(HWND hwnd, int nIndex, LONG lNewLong);WORD WINAPI GetWindowWord(HWND hwnd, int nIndex);WORD WINAPI SetWindowWord(HWND hwnd, int nIndex, WORD wNewWord);#define GetDlgCtrlID(hwnd) ((int)(hwnd)->id)DWORD WINAPI GetClassLong(HWND hwnd, int nIndex);int WINAPI GetWindowTextLength(HWND hwnd);int WINAPI GetWindowText(HWND hwnd, LPSTR lpString, int nMaxCount);BOOL WINAPI SetWindowText(HWND hwnd, LPCSTR lpString);BOOL WINAPI MoveWindow(HWND hwnd, int x, int y, int nWidth, int nHeight, BOOL bRepaint);/* SetWindowPos Flags*/#define SWP_NOSIZE 0x0001#define SWP_NOMOVE 0x0002#define SWP_NOZORDER 0x0004#define SWP_NOREDRAW 0x0008#define SWP_NOACTIVATE 0x0010 /* nyi*/#define SWP_FRAMECHANGED 0x0020 /* nyi*/#define SWP_SHOWWINDOW 0x0040#define SWP_HIDEWINDOW 0x0080#define SWP_NOCOPYBITS 0x0100 /* nyi*/#define SWP_NOOWNERZORDER 0x0200 /* nyi*/#define SWP_NOSENDCHANGING 0x0400 /* nyi*/#define SWP_DRAWFRAME SWP_FRAMECHANGED#define SWP_NOREPOSITION SWP_NOOWNERZORDER#define SWP_DEFERERASE 0x2000 /* nyi*/#define SWP_ASYNCWINDOWPOS 0x4000 /* nyi*/#define HWND_TOP ((HWND)0) /* nyi*/#define HWND_BOTTOM ((HWND)1) /* nyi*/#define HWND_TOPMOST ((HWND)-1) /* nyi*/#define HWND_NOTOPMOST ((HWND)-2) /* nyi*//* WM_WINDOWPOSCHANGED message*/typedef struct tagWINDOWPOS { HWND hwnd; HWND hwndInsertAfter; int x; int y; int cx; int cy; UINT flags;} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;BOOL WINAPI SetWindowPos(HWND hwnd, HWND hwndInsertAfter, int x, int y, int cx, int cy, UINT fuFlags);BOOL WINAPI GetCursorPos(LPPOINT lpPoint);HWND WINAPI GetCapture(VOID);HWND WINAPI SetCapture(HWND hwnd);BOOL WINAPI ReleaseCapture(VOID);/* * WM_NCCALCSIZE parameter structure */typedef struct tagNCCALCSIZE_PARAMS { RECT rgrc[3]; /*PWINDOWPOS lppos;*/ /* removed for microwin*/} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;typedef FARPROC TIMERPROC;UINT WINAPI SetTimer(HWND hwnd, UINT idTimer, UINT uTimeout, TIMERPROC lpTimerFunc);BOOL WINAPI KillTimer(HWND hwnd, UINT idTimer);UINT MwGetNextTimeoutValue(void);void MwHandleTimers(void);/* GetSystemMetrics indices*/#define SM_CXSCREEN 0#define SM_CYSCREEN 1#define SM_CXVSCROLL 2#define SM_CYHSCROLL 3#define SM_CYCAPTION 4#define SM_CXBORDER 5#define SM_CYBORDER 6#define SM_CXDLGFRAME 7#define SM_CYDLGFRAME 8#define SM_CXFIXEDFRAME SM_CXDLGFRAME#define SM_CYFIXEDFRAME SM_CYDLGFRAME#define SM_CYMENU 15#define SM_CYVSCROLL 20#define SM_CXHSCROLL 21#define SM_CXFRAME 32#define SM_CYFRAME 33#define SM_CXSIZEFRAME SM_CXFRAME#define SM_CYSIZEFRAME SM_CYFRAMEint WINAPI GetSystemMetrics(int nIndex);HWND WINAPI GetDlgItem(HWND hDlg, int nIDDlgItem);/**************************** Caret support **********************************/BOOL WINAPI CreateCaret(HWND hwnd, HBITMAP hBitmap, int nWidth, int nHeight);BOOL WINAPI DestroyCaret(VOID);BOOL WINAPI HideCaret (HWND hwnd);BOOL WINAPI ShowCaret(HWND hwnd);BOOL WINAPI SetCaretPos(int nX, int nY);BOOL WINAPI GetCaretPos(LPPOINT lpPoint);UINT WINAPI GetCaretBlinkTime(VOID);BOOL WINAPI SetCaretBlinkTime(UINT uMSeconds);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -