Board logo

标题: Windows CE 开发语言Visual C++ 01 [打印本页]

作者: samwalton    时间: 2014-3-26 14:40     标题: Windows CE 开发语言Visual C++ 01

本文是上篇文章的继续,主要讲述如何使用 Visual C++ 来进行 Windows CE 开发?如果你已经能够熟练应用 Microsoft Visual C++ 这个微软 Windows 平台上最优秀的开发工具,请你继续读下去!

  Visual C++ for Windows CE

  Visual C++ for Windows CE 是一个可以加装到 Visual C++ 和 Developer Studio 中的组件。它的集成开发环境(IDE)和 Visual C++ 是一样的,但你要弄明白目标环境、Windows CE和新的向导的特殊性。这里我们将重点介绍一下“Windows CE 应用程序向导(Wizards)”。

  Visual C++ for Windows CE 中所带的应用程序向导是一个非常有用的工具。一共有四种类型的新的向导,它们的使用方法和 Visual C++ 中常规的向导没什么区别,只是它们是用于 Windows CE 开发的。你可以利用它们来快速地创建一个基本的应用程序、动态连接库(DLL)或者组件应用程序外壳。这四种新的向导分别是:WCE 应用程序向导; WCE 动态连接库向导 ;WCE ATL COM 应用向导; WCE MFC ActiveX 控件向导。 当然随着 Windows CE 的普及,必然会有更多的 VC++ for Windows CE 向导出现的(这是后话)。

  使用Visual C++ for Windows CE编写第一个 CE 应用程序

  以下我们将通过一个简单的例子来说明如何使用 Visual C++ for Windows CE 的 WCE MFC 应用向导来(EXE) 来开发一个 CE 应用程序。该应用程序具有一个显示着一幅位图的视图(view),一个点击后能够弹出一个对话框的菜单。该对话框上还包含了一个 Windows 的常用控件,一个进度控件。(具体操作步骤不再详述)

  以下是代码部份:


{
  CBitmap bmp, poldbmp;/*定义变量*/
BITMAP bmpStruct;
CDC memdc;
CRect bmpRect, clientRect;

  CBrush backBrush(RGB(0,0,0));/*设置背景颜色*/
CBrush* pOldBrush = pDC->SelectObject(&backBrush);

/*获得分配内存大小*/
GetClientRect(&clientRect);

/* 载入新图到分配内存中*/
pDC->FillRect(&clientRect, &backBrush);
bmp.LoadBitmap(IDB_WINCE_BITMAP);
bmp.GetBitmap(&bmpStruct);

/*设置位图尺寸*/
bmpRect.left = clientRect.left + (clientRect.Width() - bmpStruct.bmWidth)/2;
bmpRect.top = clientRect.top + (clientRect.Height() - bmpStruct.bmHeight)/2;
bmpRect.right = clientRect.right - (clientRect.Width()- bmpStruct.bmWidth)/2;
bmpRect.bottom=clientRect.bottom-(clientRect.Height()-bmpStruct.bmHeight)/2;

/*分配一个新的内存地址*/
memdc.CreateCompatibleDC(pDC);
/*调入位图到新分配内存*/
poldbmp = memdc.SelectObject( &bmp );
/*输入位图到屏幕*/
pDC->BitBlt(bmpRect.left,bmpRect.top, bmpRect.right,bmpRect.bottom,&memdc, 0,0, SRCCOPY);
memdc.SelectObject(poldbmp);
pDC->SelectObject(pOldBrush);
return TRUE;
}





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0