完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
【AT91SAM9261试用体验】简单的WindowsCE程序HelloWorld 开发环境搭建好了,就可以从最基本的开始学起了,现在就来实现一个最简单的WindowsCE程序HelloWorld。 1、打开VS2005,新建一个智能设备项目,模板选择WIN32智能设备项目,输入文件名HelloWorld,点击下一步,选择EEIC08SDK平台,创建一个空项目。 实现一个对话框程序,需要5个基本步骤:a、创建窗体类;b、注册窗体类;c、创建窗体;d、更新显示窗体内容;e、获取系统消息。 需要两个基本函数:winmain主函数和消息处理函数。 2、在解决方案资源管理器中右键点击源文件,选择添加新建项,新建一个HelloWorld.cpp文件。添加源代码如下: #include #include #include "board.h" struct decodeinit MinMessageProc[]={ WM_DESTROY,OnDestroy, WM_PAINT,OnPaint, }; LRESULT CALLBACK WndProc(HWND hwnd,UINT message ,WPARAM wParam,LPARAM lParam); int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd) { WNDCLASS ws; ws.cbClsExtra = 0; ws.cbWndExtra = 0; ws.hbrBackground = (HBRUSH(GetStockObject(WHITE_BRUSH))); ws.hCursor = NULL; ws.hIcon = NULL; ws.hInstance = hInstance; ws.lpfnWndProc = WndProc; ws.lpszClassName = TEXT("Hello"); ws.lpszMenuName = NULL; ws.style = CS_VREDRAW | CS_HREDRAW; if(!RegisterClass(&ws)) return -1; HWND hwnd = CreateWindow(TEXT("Hello"),TEXT("MyFirstWindows"),WS_VISIBLE | WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_CAPtiON ,10,10,200,150, NULL,NULL,hInstance,NULL); UpdateWindow(hwnd); ShowWindow(hwnd,nShowCmd); MSG msg; while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 1; } LONG OnDestroy(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { PostQuitMessage(1); return TRUE; } LONG OnPaint(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; RECT rect; GetClientRect(hwnd,&rect); hdc = BeginPaint(hwnd,&ps); DrawText(hdc,TEXT("helloWorld"),-1,&rect,DT_VCENTER | DT_CENTER); EndPaint(hwnd,&ps); return 0; } LRESULT CALLBACK WndProc(HWND hwnd,UINT message ,WPARAM wParam,LPARAM lParam) { for(int i = 0;i if(MinMessageProc.message == message) { MinMessageProc.fun(hwnd,message,wParam,lParam); } } return DefWindowProc(hwnd,message,wParam,lParam); /*switch (message) { case WM_DESTROY: OnDestroy(hwnd,message,wParam,lParam); break; case WM_PAINT: OnPaint(hwnd,message,wParam,lParam); break; default: DefWindowProc(hwnd,message,wParam,lParam); } return 0;*/ } 3、右键点击头文件,添加新建项,新建board.h。输入如下代码: struct decodeinit{ UINT message; LONG (*fun)(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam); }; #define dim(x) (sizeof(x)/sizeof(x[0])) LONG OnPaint(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam); LONG OnDestroy(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam); 4、编译调试,通过USB数据线连接到开发板。最终实现效果如下: |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【盈鹏飞RK3399安卓主板 XPC-3399Pro免费试用】+烧写出厂固件
10276 浏览 0 评论
【盈鹏飞EVB-T335开发板试用体验】debian系统烧写
3296 浏览 1 评论
【盈鹏飞I.MX6UL工控开发板试用体验】linux can 测试
3192 浏览 0 评论
266浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 10:06 , Processed in 0.737993 second(s), Total 67, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号