Windows CE6.0开发者参考(第…

 

//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  lpszClassName


}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  hWnd,const RECT * lpRect, BOOL  bErase);


 


//设备上下文


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  dwRop);


//拉伸或压缩位图


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{


       BYTE BlendOp;


       BYTE BlendFlags;


       BYTE SourceConstantAlpha;


       BYTE AlphaFormat;


}BLENDFUNCTION,*PBLENDFUNCTION;


//目标像素值计算公式


destPixel=(srcPixel* SCA/255)+(destPixel*(1-SCA/255))  //SCA  :  SourceConstantAlpha


//线


BOOL Polyline(HDC hdc,const POINT * lppt,int cPoints);


Typedef struct tagPOINT{


       LONG x;


       LONG y;


}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);


       COLORREF RGB (BYTE bRed,BYTE bGreen ,BYTE bBlue);


HPEN CreatePenIndirect(const LOGPEN * lplgpn);


       Typedef struct tagLOGPEN {


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);


       Struct _TRIVERTEX


{


       LONG x;


       LONG y;


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);


       Typedef struct tagSHRGI{


              DWORD cbSize;


              HWND hwndClient;


              POINT   ptDown;


              DWORD dwFlags;


}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);


 


       //SCROLLINFO结构


       Typedef struct tagSCROLLINFO{


              UINT cbSize;


UINT fMask;


Int nMin;


Int nMax;


UINT nPage;


Int nPos;


Int nTrackPos;


}SCROLLINFO;


       //超过65535的滚动范围 函数


BOOL  GetScrollInfo(HWND hwnd,int fnBar,LPSCROLLINFO lpsi);


 


//创建菜单


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);


//按钮结构体


 Typedef struct{


       Int iBitmap;


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{


    DWORD dwMask;


    HWND hDlg;


    DWORD dwFlags;


}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 CreateDialogIndirectParam(HINSTANCE hInstance,LPCDLGTEMPLATE lpTemplate,


HWND hWndOwner,DLGPROC lpDialogfunc,LPARAM lParamInit);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值