//winmain 函数
int WINAPI winmain(HINSTANCE hInstance, HINSTANCE hPrevInstance ,LPWSTR lpCmdLine,int nCmdShow);
//消息弹出框
int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCption,UINT uType);
//RegisterClass 函数
ATOM RegisterClass(const WNDCLASS* lpWndClass)
Typedef struct _WNDCLASS{
UINT style, WNDPROC lpfnWndProc,int cbClsExtra,int cbWndExtra,
HANDLE hInstance,HICON hIcon,HCURSOR hCursor,HBRUSH hbrBackGround,
LPCTSTR lpszMenuName,LPCTSTR
}WNDCLASS ;
//创建窗口
HWND CreateWindowEx(DWORD dwExStyle,LPCTSTR lpClassName, LPCTSTR lpWindowName,DWORD dwStyle,
Int x,int y,int nWidth,int nHeight,HWND hWndParent ,HMENU hMenu,HINSTANCE hInstance ,LPVOID lpParam);
//窗口过程
LRESULT CALLBACK MainWndProc(HWND hWnd ,UINT wMsg,WPARAM wParam, LPARAM lParam);
//强制重绘窗口
BOOL InvalidateRect(HWND
//设备上下文
HDC GetDC(HWND hWnd);
HDC GetDCEx(HWND hWnd, HRGN hrgnClip,DWORD flags);
Int ReleaseDC(HWND hWnd, HDC hDC);
//取得整个窗口的DC
HDC GetWindowDC(HWND hWnd);
//创建字体
HFONT CreateFontIndirect(const LOGFONT * lplf);
//设备相关位图
HBITMAP CreateBitmap(int nWidth,int nHeight,UINT cPlanes,UINT cBItsPerPel,CONST VOID * lpvBits);
//创建一幅设备上下文格式兼容的位图
HBITMAP CreateCompatibleBitmap(HDC hdc,int nWidth,int nHeight);
//windowsCE特有
HBITMAP SHLoadDIBitmap(LPCTSTR szFileName);
//DIB区域
HBITMAP CreateDIBSection(HDC hdc,const BITMAPINFO * pbmi, UINT iUsage, void * ppvBits, HANDLE hSection,DWORD dwOffset);
//管理DIB调色板
UINT GetDIBColorTable(HDC hdc, UINT uStartIndex,UINT cEntries,RGBQUAD * pColors);
UINT SetDIBColorTable(HDC hdc, UINT uStartIndex,UINT cEntries,RGBQUAD * pColors);
//创建内存设备上下文
HDC CreateCompatibleDC(HDC hdc);
//绘制位图函数
BOOL BitBlt( HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight ,int nXSrc,int nYSrc,DWORD
//拉伸或压缩位图
BOOL StretchBlt(HDC hdcDest, int nXOriginDest ,int nYORiginDest,int nWidthDest,int nHeightDest,HDC hdcSrc,
Int nXOriginSrc, int nYOriginSrc,int nWidthSrc,int nHeightSrc,DWORD dwRop);
//透明贴图
BOOL TransparentImage(HDC hdcDest,LONG DstX,LONG DstY,LONG DstCx,LONG DstCy,HANDLE hSrc,
LONG SrcX,LONG SrcY,LONG SrcCx,LONG SrcCy,COLORREF TransparentColor);
//绘制半透明位图AlphaBlending
BOOL AlphaBlend(HDC hdcDest,int nXOriginDest,int nYOriginDest,int nWidthDest,int nHeightDest,HDC hdcSrc,
Int nXOriginSrc,int nYOriginSrc,int nWidthSrc,int nHeightSrc,BLENDFUNCTION blendFunction);
Typedef struct _BLENDFUNCTION{
}BLENDFUNCTION,*PBLENDFUNCTION;
//目标像素值计算公式
destPixel=(srcPixel* SCA/255)+(destPixel*(1-SCA/255))
//线
BOOL Polyline(HDC hdc,const POINT * lppt,int cPoints);
Typedef struct tagPOINT{
}POINT ;
BOOL WINAPI MoveToEx(HDC hdc,int x,int y,LPPOINT lpPoint);
BOOL WINAPI LineTo(HDC hdc ,int x,int y);
//查询当前点
WINGDIAPI BOOL WINAPI GetCurrentPositionEx(HDC hdc,LPPOINT pPoint);
//画笔
HGDIOBJ GetStockObject(int fnObject);
HPEN CreatePen(int fnPenStyle,int nWidth,COLORREF crColor);
HPEN CreatePenIndirect(const LOGPEN * lplgpn);
UINT lopnStyle;
POINT lopnWidth;
COLORrEF lopnColor;
}LOGPEN;
//画刷
HBRUSH CreateSolidBrush(COLORREF crColor);
//创建带有样式的画刷
HBURSH CreateDIBPatternBrushPT(const void * lpPackedDIB,UINT iUsage);
//矩形
BOOL Rectangle(HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);
//圆形和椭圆
BOOL Ellipse(HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);
//圆角矩形
BOOL RoundRect(HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nWidth,int nHeight);
//多边形
BOOL Ploygon(HDC hdc,const POINT * lpPoints,int nCount);
//填充函数
Int FillRect(HDC hdc,CONST RECT *lprc,HBRUSH hbr);
//渐变填充
BOOL Gradientfill(HDC hdc,PTRIVERTEX pVertex,ULONG dwNumVertex,PVOID pMesh,ULONG dwNumMesh,ULONG dwMode);
{
COLOR16 Red;
COLOR16 Green;
COLOR16 Blue;
COLOR16 Alpha;
}TRIVERTEX;
.//键盘
//输入焦点
HWND GetFocus(void);
HWND SetFocus(HWND hWnd);
//键盘函数
SHORT GetKeyState(int nVirtKey);(仅仅限于查询控制键Ctrl,Alt,Shift,Numlock,Windows)
SHORT GetAsyncKeyState(int vKey);
//模拟击键
VOID keybd_event (BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtraInfo);
//模拟控制键
BOOL PostKeybdMessage(HWND hwnd,UINT VKey,KEY_STATE_FLAGS KeyStateFlags,UINT cCharacters,
UINT * pShiftStateBuffer,UINT * pCharacterBuffer);
//键盘测试
DOWRD GetKeyboardStatus(VOID);
//禁用键盘
BOOL EnableHardwareKeyboard(BOOL bEnable);
//水平或垂直滚动设备上下文区域
BOOL ScrollDC(HDC hdc ,int dx,int dy,const RECT* lprcScroll,const RECT * lprcClip,HRGN hrgnUpdate,LPRECT lprcUpdate);
//墨迹(跟踪手写笔)
BOOL GetMouseMovePoints(PPOINT pptBuf,UINT nBufPoints,UINT * pnPointsRetrieved);
//点击-按住(模拟右击)
WINSHELLAPI DWORD SHRecognizeGesture(SHRGINFO* shrg);
}SHRGINFO ,* PSHRGINFO;
//窗口控件和菜单
HWND GetWindow(HWND hWnd,UINT uCmd);
BOOL EnumWindows(WNDENUMPROC lpEnumFunc ,LPARAM lParam);
//寻找窗口
HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName);
HWND GetDesktopWindow(void);
//移动窗口
BOOL SetWindowPos(HWND hWnd,HWND hWndInsertAfter,int x,int y,int cx,int cy,UINT uFlags);
//编辑窗口结构内容
LONG GetWindowLong (HWND hWnd ,int nIndex);
LONG SetWindowLong (HWND hWnd ,int nIndex,LONG dwNewLong);
//操作窗口控件
HWND GetDlgItem(HWND hDlg,int nIDDlgItem);
//给控件发送消息
LONG SendDlgItemMessage(HWND hParent,int nIDChild,UINT Msg,WPARAM wParam,LPARAM lParam);
//绘制虚线矩形,表明按钮拥有焦点
BOOL DrawFocusRect(HDC hdc,const RECT * lprc);
//配置滚动条
Int SetScrollInfo(HWND hwnd,int fnBar,LPSCROLLINFO lpsi,BOOL fRedraw);
UINT fMask;
Int nMin;
Int nMax;
UINT nPage;
Int nPos;
Int nTrackPos;
}SCROLLINFO;
BOOL
//创建菜单
HMENU CreateMenu(void);
//加入菜单项
BOOL AppendMenu(HMENU hMenu,UINT fuFlags,UINT idNewItem,LPCTSTR lpszNewItem);
BOOL InsertMenu(HMENU hMenu,UINT uPosition,UINT uFlags,UINT uIDNewItem,LPCTSTR lpNewItem);
//级联菜单
HMENU CreatePopupMenu(void);
//禁用菜单项
BOOL EnableMenuItem(HMENU hMenu,UINT uIDEnableItem,UINT uEnable);
//在菜单前面打勾或者去掉
DWORD CheckMenuItem(HMENU hmenu, UINT uIDCheckItem,UINT uCheck);
//显示菜单
BOOL TrackPoputMenuEx(HMENU hmenu , UINT uFlags,int x,int y,,HWND hwnd ,LPTPMPARAMS lptpm);
//加载位图
HBITMAP LoadBitmap(HINSTANCE hInstance,LPCTSTR lpBitmapName);
//加载字符串
Int LoadString(HINSTANCE hInstance,UINT uID, LPTSTR lpBuffer,int nBufferMax);
//通用控件编程
//初始化控件DLL
Void InitCommonControls(void);
BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX lpInitCtrls);
//命令栏
HWND CommandBar_Create(HINSTANCE hInst,HWND hwndParent,int idCmdBar);
//命令栏添加菜单
BOOL CommandBar_InsertMenuBarEx(HWND hwndCB,HINSTANCE hInst,LPTSTR pszMenu,int iButton);
//获得菜单句柄
HMENU CommandBar_GetMenu(HWND hwndCB,int iButton);
//修改命令栏菜单必须调用的函数:
BOOL CommandBar_DrawMenuBar(HWND hwndCB ,int iButton);
//加载位图
Int CommandBar_AddBitmap(HWND hwndCB,HINSTANCE hInst,int idBitmao,int iNumImages,int iImageWidth,int iImageHeight);
//添加一组按钮
BOOL CommandBar_AddButtons(HWND hwndCB,UINT uNumButtons,LPTBBUTTON lpButtons);
//按钮结构体
Int idCommand;
BYTE fsState;
BYTE fsStyle;
DWORD dwData;
Int iString;
}TBBUTTON;
//命令栏添加按钮
BOOL CommandBar_InsertButton(HWND hwndCB ,int iButton,LPTBBUTTON lpButton);
//窗口坐标系转换
MapWindowPoints(HWND hwndForm,HWND hwndTo,LPPOINT lppoints,UINT cPoints);
//命令栏中的组合框
HWND CommandBar_InsertComboBox(HWND hwndCB ,HINSTANCE hInst,int iWidth,
UINT dwStyle,WORD idComboBox,int iButton);
//管理命令栏函数
BOOL CommandBar_AddAdornments(HWND hwndCB ,DWORD dwFlags,DWORD dwReserved);
//调整函数
BOOL CommandBar_AlignAdornments(HWND hwndCB);
//实现命令栏隐藏
BOOL CommandBar_Show(HWND hwndCB,BOOL fShow);
//命令栏可见状态
BOOL CommandBar_IsVisible(HWND hwndCB);
//销毁命令栏
Void CommandBar_Destroy(HWND hwndCB);
//创建对话框
Int DialogBox(HANDLE hInstance ,LPCTSTR lpTemplate,HWND hWndOwner,DLGPROC lpDialogFunc);
Int DialogBoxParam(HANDLE hInstance ,LPCTSTR lpTemplate,HWND hWndOwner,DLGPROC lpDialogFunc,LPARAM dwInitParam);
//创建模态对话框
Int DialogBoxIndirect(HANDLE hInstance,LPDLGTEMPLATE lpTemplate,HWND hWndParent,DLGPROC lpDialogFunc);
Int DialogBoxIndirectParam(HINSTANCE hInstance,LPCDLGTEMPLATE DialogTemplate,HWND hWndParent,
DLGPROC lpDialogFunc,LPARAM dwInitParam);
//关闭对话框
BOOL EndDialog(HWND hDlg,int nResult);
//全屏显示对话框
BOOL SHInitDialog(PSHINITDLGINFO pshidi);
Typedef struct tagSHINITDIALOG{
}SHINITDLGINFO;
//创建非模态对话框
HWND CreateDialog(HINSTANCE hInstance,LPCTSTR lpTemplate,HWND hWndOwner,DLGPROC lpDialogfunc);
HWND CreateDialogParam(HINSTANCE hInstance,LPCDLGTEMPLATE lpTemplate,
HWND hWndOwner,DLGPROC lpDialogfunc,LPARAM lParamInit);
HWND CreateDialogIndirect(HINSTANCE hInstance,LPCDLGTEMPLATE lpTemplate,HWND hWndOwner,DLGPROC lpDialogFunc);
HWND CreateDialogIndirectPara
HWND hWndOwner,DLGPROC lpDialogfunc,LPARAM lParamInit);