分享
 
 
 

[翻译]-WinCE 程序设计 (3rd 版)--1.4 Hello2

王朝vc·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

Hello2

既然已经有了基础,那么是时候把Hello1升级一下,至少应该让人可以看见它。因为很多Windows CE系统没有控制台驱动程序,Hello2创建一个消息框而不是用printf来显示“Hello CE”文字。Hello2的程序如下表1-2所示:

列表1-2: Hello2, 使用MessageBox函数的简单应用程序

Hello2.cpp

//======================================================================

// Hello2 - A simple application for Windows CE

//

// Written for the book Programming Windows CE

// Copyright (C) 2003 Douglas Boling

//======================================================================

#include "windows.h"

//

// Program entry point

//

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPWSTR lpCmdLine, int nCmdShow) {

MessageBox (NULL, TEXT ("Hello World"), TEXT ("Hello2"), MB_OK);

return 0;

}

编译并运行Hello2,可以看到如图1-2所示的小窗口。

图1-2(略)

运行在Windows CE桌面的Hello2

替代printf的MessageBox函数为Hello2提供了2个特性。第一个也是最明显的一个就是它创建一个窗口,并在上面显示"Hello World"文本。第二个特性是MessageBox函数直到用户关闭消息窗口才会返回。这允许Hello2一直保持运行,直到用户关闭窗口。

MessageBox函数原型如下:

int MessageBox (HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

第1个参数是顶层窗口的句柄,它是消息窗口的父窗口。目前我们把这个参数置为NULL,因为Hello2还没有任何其它窗口。第2个参数是准备显示在窗口里的文字。注意传入的字符串是用TEXT宏包裹的,确保它能够编译成Unicode版本。第3个参数lpCaption是显示在窗口标题栏的文字。最后一个参数uType是一系列标志位,规定消息框如何显示在屏幕上。标志位规定了消息框中按扭的数量和类型,规定了图标的类型以及消息框窗口的风格设置。

表1-2列出了Windows CE下有效的标志位

表1-2: 默认标志位

标志位

按钮或者图标

用于按钮

MB_OK

OK

MB_OKCANCEL

OK and Cancel

MB_RETRYCANCEL

Retry and Cancel

MB_YESNO

Yes and No

MB_YESNOCANCEL

Yes, No, and Cancel

MB_ABORTRETRYIGNORE

Abort, Retry, and Ignore

用于图标

MB_ICONEXCLAMATION, MB_ICONWARNING

Exclamation point

MB_ICONINFORMATION, MB_ICONASTERISK

Lower case i within a circle

MB_ICONQUESTION

Question mark

MB_YESNO

Yes and No

MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND

Stop sign

MB_DEFBUTTON1

First button

MB_DEFBUTTON2

Second button

MB_DEFBUTTON3

Third button

For Window Styles:

MB_SETFOREGROUND

Bring the message box to the foreground.

MB_TOPMOST

Make the message box the topmost window.

MessageBox的返回值指出用户按了哪个按扭。返回值如下:

IDOK

OK button pressed

IDYES

Yes button pressed

IDNO

No button pressed

IDCANCEL

Cancel button pressed or Esc key pressed

IDABORT

Abort button pressed

IDRETRY

Retry button pressed

IDIGNORE

Ignore button pressed

此时值得注意的是,如果你调试和重新编译这个程序,它不会被再次下载到目标设备上的,因为程序早先的版本仍然正在目标系统上运行。换句话说,当您在eVC++中启动一个新的build时,您要确保Hello2没有运行在远程系统上,否则编译过程里的自动下载过程就会失败。如果发生这种情况,关闭应用程序,选择eVC++里[Update Remote File]菜单命令去下载新的编译后的文件。

Hello2展示了一个简单的窗口,但窗口只能按MessageBox函数允许的形式进行配置。如何显示一个完全由程序配置的窗口呢?在我们这样做之前,对Windows 应用程序如何工作的做一个快速浏览是必要的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有