?? window.h
字號:
int iBkColor; int (*WinProc)(HWND, int, WPARAM, LPARAM); // the address of window procedure DWORD dwAddData; // the additional data.}WNDCLASS;typedef WNDCLASS* PWNDCLASS;#define MAINWINCLASSNAME ("MAINWINDOW")BOOL GUIAPI RegisterWindowClass (PWNDCLASS pWndClass);BOOL GUIAPI UnregisterWindowClass (const char* szClassName);char* GUIAPI GetClassName (HWND hWnd);BOOL GUIAPI GetWindowClassInfo (PWNDCLASS pWndClass);BOOL GUIAPI SetWindowClassInfo (const WNDCLASS* pWndClass);/*************************** Non-Main Window support *************************/HWND GUIAPI CreateWindowEx (const char* spClassName, const char* spCaption, DWORD dwStyle, DWORD dwExStyle, int id, int x, int y, int w, int h, HWND hParentWnd, DWORD dwAddData);BOOL GUIAPI DestroyWindow (HWND hWnd);#define CreateWindow(class_name, caption, style, id, x, y, w, h, parent, add_data) \ CreateWindowEx(class_name, caption, style, 0, id, x, y, w, h, parent, add_data)/******************************** Timer Support ******************************/// Note: when _TIMER_UNIT_10MS defined, the speed is not frequency but // interval time in unit of 10ms.BOOL GUIAPI SetTimer (HWND hWnd, int id, int speed);BOOL GUIAPI KillTimer (HWND hWnd, int id);BOOL GUIAPI SetTimerSpeed (HWND hWnd, int id, int speed);// Note: Tick count is in unit of 10ms.unsigned int GUIAPI GetTickCount (void);/******************************** IME Support ********************************/#ifdef _IME_GB2312int IMEWinProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam);void* IMEWindow (void* data);#endifint GUIAPI RegisterIMEWindow (HWND hWnd);int GUIAPI UnregisterIMEWindow (HWND hWnd);int GUIAPI GetIMEStatus (int StatusCode);int GUIAPI SetIMEStatus (int StatusCode, int Value);/**************************** Accelerator Support ****************************/HACCEL GUIAPI CopyAcceleratorTable (HACCEL hacc);int GUIAPI DeleteAccelerators (HACCEL hacc, int key, DWORD keymask);#define ACCEL_SHIFT 1#define ACCEL_ALT 4#define ACCEL_CTRL 16int GUIAPI AddAccelerators (HACCEL hacc, int key, DWORD keymask, WPARAM wParam, LPARAM lParam);int GUIAPI DestroyAcceleratorTable (HACCEL hacc);HACCEL GUIAPI CreateAcceleratorTable (HWND hWnd);HACCEL GUIAPI LoadAccelerators (const char* filename, int id);/**************************** Caret support **********************************/BOOL GUIAPI CreateCaret (HWND hWnd, PBITMAP pBitmap, int nWidth, int nHeight);BOOL GUIAPI ChangeCaretSize (HWND hWnd, int newWidth, int newHeight);BOOL GUIAPI ActiveCaret (HWND hWnd);UINT GUIAPI GetCaretBlinkTime (HWND hWnd);BOOL GUIAPI SetCaretBlinkTime (HWND hWnd, UINT uTime);BOOL GUIAPI DestroyCaret (HWND hWnd);BOOL GUIAPI HideCaret (HWND hWnd);BOOL GUIAPI ShowCaret (HWND hWnd);BOOL GUIAPI SetCaretPos (HWND hWnd, int x, int y);BOOL GUIAPI GetCaretPos (HWND hWnd, PPOINT pPt);/**************************** Control support ********************************//* Standard control IDs */#define IDC_STATIC 0#define IDOK 1#define IDCANCEL 2#define IDABORT 3#define IDRETRY 4#define IDIGNORE 5#define IDYES 6#define IDNO 7#define MINID_RESERVED 0xF001#define MAXID_RESERVED 0xFFFF/*********************************** Menu Support ****************************//* Menu flags */#define MF_INSERT 0x00000000L#define MF_CHANGE 0x00000080L#define MF_APPEND 0x00000100L#define MF_DELETE 0x00000200L#define MF_REMOVE 0x00001000L#define MF_BYCOMMAND 0x00000000L#define MF_BYPOSITION 0x00000400L#define MF_SEPARATOR 0x00000800L#define MF_ENABLED 0x00000000L#define MF_GRAYED 0x00000001L#define MF_DISABLED 0x00000002L#define MF_UNCHECKED 0x00000000L#define MF_CHECKED 0x00000008L#define MF_USECHECKBITMAPS 0x00000200L#define MF_STRING 0x00000000L#define MF_BITMAP 0x00000004L#define MF_OWNERDRAW 0x00000100L#define MF_POPUP 0x00000010L#define MF_MENUBARBREAK 0x00000020L#define MF_MENUBREAK 0x00000040L#define MF_UNHILITE 0x00000000L#define MF_HILITE 0x00000080L#define MF_DEFAULT 0x00001000L#define MF_SYSMENU 0x00002000L#define MF_HELP 0x00004000L#define MF_RIGHTJUSTIFY 0x00004000L#define MF_MOUSESELECT 0x00008000L#define MF_END 0x00000080L#define MFT_STRING MF_STRING#define MFT_BITMAP MF_BITMAP#define MFT_BMPSTRING 0x00010000L#define MFT_MENUBARBREAK MF_MENUBARBREAK#define MFT_MENUBREAK MF_MENUBREAK#define MFT_OWNERDRAW MF_OWNERDRAW#define MFT_RADIOCHECK 0x00000200L#define MFT_SEPARATOR MF_SEPARATOR#define MFT_RIGHTORDER 0x00002000L#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY#define MFS_GRAYED 0x00000003L#define MFS_DISABLED MFS_GRAYED#define MFS_CHECKED MF_CHECKED#define MFS_HILITE MF_HILITE#define MFS_ENABLED MF_ENABLED#define MFS_UNCHECKED MF_UNCHECKED#define MFS_UNHILITE MF_UNHILITE#define MFS_DEFAULT MF_DEFAULT/* * System Menu Command Values */ #define SC_SIZE 0xF000 #define SC_MOVE 0xF010 #define SC_MINIMIZE 0xF020 #define SC_MAXIMIZE 0xF030 #define SC_NEXTWINDOW 0xF040 #define SC_PREVWINDOW 0xF050 #define SC_CLOSE 0xF060 #define SC_VSCROLL 0xF070 #define SC_HSCROLL 0xF080 #define SC_MOUSEMENU 0xF090 #define SC_KEYMENU 0xF100 #define SC_ARRANGE 0xF110 #define SC_RESTORE 0xF120 #define SC_TASKLIST 0xF130 #define SC_SCREENSAVE 0xF140 #define SC_HOTKEY 0xF150 #define SC_DEFAULT 0xF160 #define SC_MONITORPOWER 0xF170 #define SC_CONTEXTHELP 0xF180 #define SC_SEPARATOR 0xF00F/* MENUITEMINFO flags */ #define MIIM_STATE 0x00000001 #define MIIM_ID 0x00000002 #define MIIM_SUBMENU 0x00000004 #define MIIM_CHECKMARKS 0x00000008 #define MIIM_TYPE 0x00000010 #define MIIM_DATA 0x00000020 #define MIIM_STRING 0x00000040 #define MIIM_BITMAP 0x00000080 #define MIIM_FTYPE 0x00000100/* * Flags for TrackPopupMenu */ #define TPM_LEFTBUTTON 0x0000L #define TPM_RIGHTBUTTON 0x0002L #define TPM_LEFTALIGN 0x0000L #define TPM_CENTERALIGN 0x0004L #define TPM_RIGHTALIGN 0x0008L #define TPM_TOPALIGN 0x0000L #define TPM_VCENTERALIGN 0x0010L #define TPM_BOTTOMALIGN 0x0020L #define TPM_HORIZONTAL 0x0000L /* Horz alignment matters more */ #define TPM_VERTICAL 0x0040L /* Vert alignment matters more */ #define TPM_NONOTIFY 0x0080L /* Don't send any notification msgs */ #define TPM_RETURNCMD 0x0100L #define TPM_DESTROY 0x1000L // Destroy menu after tracking. #define TPM_SYSCMD 0x2000L // Send system command. #define TPM_DEFAULT 0x0000L // Default tracking flag./* return codes for WM_MENUCHAR */#define MNC_IGNORE 0#define MNC_CLOSE 1#define MNC_EXECUTE 2#define MNC_SELECT 3typedef struct _MENUITEMINFO { UINT mask; UINT type; UINT state; int id; HMENU hsubmenu; PBITMAP hbmpChecked; PBITMAP hbmpUnchecked; DWORD itemdata; DWORD typedata; UINT cch;}MENUITEMINFO;typedef MENUITEMINFO* PMENUITEMINFO;// Menu creationHMENU GUIAPI LoadMenuFromFile (const char* filename, int id);HMENU GUIAPI CreateMenu (void);HMENU GUIAPI CreatePopupMenu ( PMENUITEMINFO pmii);HMENU GUIAPI CreateSystemMenu (HWND hwnd, DWORD dwStyle);int GUIAPI InsertMenuItem (HMENU hmnu, int item, BOOL flag, PMENUITEMINFO pmii);int GUIAPI RemoveMenu (HMENU hmnu, int item, UINT flags);int GUIAPI DeleteMenu (HMENU hmnu, int item, UINT flags);int GUIAPI DestroyMenu (HMENU hmnu);int GUIAPI IsMenu (HMENU hmnu);HMENU GUIAPI SetMenu (HWND hwnd, HMENU hmnu);HMENU GUIAPI GetMenu (HWND hwnd);void GUIAPI DrawMenuBar (HWND hwnd);int GUIAPI TrackMenuBar (HWND hwnd, int pos);int GUIAPI TrackPopupMenu (HMENU hmnu, UINT uFlags, int x, int y, HWND hwnd);HMENU GUIAPI GetMenuBarItemRect (HWND hwnd, int pos, RECT* prc);#define HMF_UPITEM 0x01#define HMF_DOWNITEM 0x02#define HMF_DEFAULT 0x00BOOL GUIAPI HiliteMenuBarItem (HWND hwnd, int pos, UINT flag);int GUIAPI GetMenuItemCount (HMENU hmnu);int GUIAPI GetMenuItemID (HMENU hmnu, int pos); int GUIAPI GetMenuItemInfo (HMENU hmnu, int item, BOOL flag, PMENUITEMINFO pmii);int GUIAPI GetMenuItemRect (HWND hwnd, HMENU hmnu, int item, PRECT prc);HMENU GUIAPI GetPopupSubMenu (HMENU hpppmnu);HMENU GUIAPI GetSubMenu (HMENU hmnu, int pos);int GUIAPI GetSystemMenu (HWND hwnd, BOOL flag);UINT GUIAPI EnableMenuItem (HMENU hmnu, int item, UINT flags);int GUIAPI CheckMenuRadioItem (HMENU hmnu, int first, int last, int checkitem, UINT flags);int GUIAPI SetMenuItemBitmaps (HMENU hmnu, int item, UINT flags, PBITMAP hBmpUnchecked, PBITMAP hBmpChecked);int GUIAPI SetMenuItemInfo (HMENU hmnu, int item, BOOL flag, PMENUITEMINFO pmii);/*************************** Dialog support **********************************/// 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_WANTCHARS 0x0008 /* Want MSG_CHAR messages */#define DLGC_HASSETSEL 0x0010 /* Understands EM_SETSEL message */#define DLGC_DEFPUSHBUTTON 0x0100 /* Default pushbutton */#define DLGC_PUSHBUTTON 0x0200 /* Non-default pushbutton */#define DLGC_RADIOBUTTON 0x0400 /* Radio button */#define DLGC_3STATE 0x0800 /* 3 States button item */#define DLGC_STATIC 0x1000 /* Static item: don't include */#define DLGC_BUTTON 0x2000 /* Button item: can be checked */typedef struct{ char* class_name; // control class DWORD dwStyle; // control style int x, y, w, h; // control position in dialog int id; // control identifier const char* caption; // control caption DWORD dwAddData; // additional data DWORD dwExStyle; // control extended style} CTRLDATA;typedef CTRLDATA* PCTRLDATA;typedef struct{ DWORD dwStyle; // dialog box style DWORD dwExStyle; // dialog box extended style int x, y, w, h; // dialog box position const char* caption; // dialog box caption HICON hIcon; // dialog box icon HMENU hMenu; // dialog box menu int controlnr; // number of controls PCTRLDATA controls; // poiter to control array DWORD dwAddData; // addtional data, must be zero} DLGTEMPLATE;typedef DLGTEMPLATE* PDLGTEMPLATE;HWND GUIAPI CreateMainWindowIndirect (PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC WndProc);BOOL GUIAPI DestroyMainWindowIndirect (HWND hMainWin);int GUIAPI DialogBoxIndirectParam (PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC DlgProc, LPARAM lParam);BOOL GUIAPI EndDialog (HWND hDlg, int endCode);void GUIAPI DestroyAllControls (HWND hDlg);int GUIAPI DefaultDialogProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam);HWND GUIAPI GetDlgDefPushButton (HWND hWnd);int GUIAPI GetDlgCtrlID (HWND hwndCtl);HWND GUIAPI GetDlgItem (HWND hDlg, int nIDDlgItem);UINT GUIAPI GetDlgItemInt (HWND hDlg, int nIDDlgItem, BOOL *lpTranslated, BOOL bSigned);int GUIAPI GetDlgItemText (HWND hDlg, int nIDDlgItem, char* lpString, int nMaxCount);char* GUIAPI GetDlgItemText2 (HWND hDlg, int id, int* lenPtr);HWND GUIAPI GetNextDlgGroupItem (HWND hDlg, HWND hCtl, BOOL bPrevious);HWND GUIAPI GetNextDlgTabItem (HWND hDlg, HWND hCtl, BOOL bPrevious);int GUIAPI SendDlgItemMessage ( HWND hDlg, int nIDDlgItem, int message, WPARAM wParam, LPARAM lParam);BOOL GUIAPI SetDlgItemInt (HWND hDlg, int nIDDlgItem, UINT uValue, BOOL bSigned);BOOL GUIAPI SetDlgItemText (HWND hDlg, int nIDDlgItem, const char* lpString);#ifdef _CTRL_BUTTONvoid GUIAPI CheckDlgButton (HWND hDlg, int nIDDlgItem, int nCheck);void GUIAPI CheckRadioButton (HWND hDlg, int idFirstButton, int idLastButton, int idCheckButton);int GUIAPI IsDlgButtonChecked (HWND hDlg, int idButton); #endif/****** Message Box support *************************************************/#if defined(_CTRL_STATIC) && defined (_CTRL_BUTTON)#define MB_OK 0x0000#define MB_OKCANCEL 0x0001#define MB_YESNO 0x0002#define MB_RETRYCANCEL 0x0003#define MB_ABORTRETRYIGNORE 0x0004#define MB_YESNOCANCEL 0x0005#define MB_CANCELASBACK 0x0008 // customized style#define MB_TYPEMASK 0x0007// #define MB_TYPEMASK 0x000F#define MB_ICONHAND 0x0010#define MB_ICONQUESTION 0x0020#define MB_ICONEXCLAMATION 0x0030#define MB_ICONASTERISK 0x0040#define MB_ICONMASK 0x00F0#define MB_ICONINFORMATION MB_ICONASTERISK#define MB_ICONSTOP MB_ICONHAND#define MB_DEFBUTTON1 0x0000#define MB_DEFBUTTON2 0x0100#define MB_DEFBUTTON3 0x0200#define MB_DEFMASK 0x0F00// #define MB_APPLMODAL 0x0000// #define MB_SYSTEMMODAL 0x1000// #define MB_TASKMODAL 0x2000#define MB_NOFOCUS 0x8000int GUIAPI MessageBox (HWND hParentWnd, const char* pszText, const char* pszCaption, DWORD dwStyle);#endif /* _CTRL_STATIC && _CTRL_BUTTON */void GUIAPI MessageBeep (DWORD dwBeep);#ifdef __cplusplus}#endif /* __cplusplus */#endif // GUI_WINDOW_H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -