Win32学习笔记 第一章

原创 2003年02月12日 11:17:00

Win32学习笔记

作者: 姜学哲(netsail0@163.net)
教材: Windows程序设计(第五版)北京大学出版社
 [美]Charles Petzold 著
 北京博彦科技发展有限公司 译  ¥:160
环境: windows2000 server + Internet Explorer 6.0 + DirectX7.0 + Visual C++ 6.0

(图们江计算机程序编制小组版权所有,转载请说明出处)
---------------------------------------------------------------------------------
第一章 开始

从第N页的  对《windows程序设计》的评论  开始叽叽歪歪一大堆赞扬之词过后,在第十页我总于见到了main(),让我感到无比亲切!

#include<stdio.h>

int main()
{
 printf("Hello World/n");

 return 0;
}

紧接着就是WINDOWS版本的等价程序

1.3.2 Windows等价程序

/******************************************************
 Copyright(c) 2003, TUMEN Programming Clan
 (netsail0@163.net)    All rights reserved.

 Filename:  HelloMsg
 Author: Hack-Chul Kang
 ******************************************************/
#include<windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
 MessageBox(NULL, TEXT("Hello, Windows98!"), TEXT("HelloMsg"), 0);

 return 0;
}

运行上面的程序后会随着“叮”的一声,出现一个对话框。可以看到标题栏上有HelloMsg,对话框中央出现Hello Windows98!字样,以及一个“大大”的‘确定’按钮。恭喜恭喜!你的第一个WINDOWS程序已经问世了!

在标准C中我们需要stdio.h,而在WINDOWS的C中我们需要的是windows.h。

第十二页中对程序入口点做了介绍。请先不要理会那四个长长的参数。前面说过,就当他不存在就可以了。我们要关注的是MessageBox()。

首先要解释的是TEXT()。这是一个宏定义,也就是用define定义的。这是为了兼容UNICODE字符集而做的改动。以后不管是什么时候,您最好把字符串都用TEXT()括起来,有关UNICODE您可以看第二章。

第十三页

#define MB_OK   0x00000000L
#define MB_OKCANCEL  0x00000001L
#define MB_ABORTRETRYIGNORE 0x00000002L
#define MB_YESNOCANCEL  0x00000003L
#define MB_YESNO  0x00000004L
#define MB_RETRYCANCEL  0x00000005L

上面的是MessageBox()的第四个参数选项。想了解他们的具体含义很简单。上面的HelloMsg程序中MessageBox()的第四个参数是零,您可以把那个零换成上面六个常量中的一个,比如:

 MessageBox(NULL, TEXT("Hello Windows98!"), TEXT("HelloMsg"), MB_OKCANCEL);

重新运行后您会发现对话框中多了一个'取消'按钮。如果您使用的是英文版,两个按钮分别是 OK & CANCEL。您可以一个一个的试。

第十四页

#define MB_ICONHAND  0x00000010L
#define MB_ICONQUESTION  0x00000020L
#define MB_ICONEXCLAMATION 0x00000030L
#define MB_ICONASTERISK  0x00000040L

这些都是对话框中的图标选项。可以用C语言中“|”运算符与前面所提到的六个选项中的一个结合起来,比如:

 MessageBox(NULL, TEXT("Hello Windows98!"), TEXT("HelloMsg"), MB_OKCANCEL | MB_ICONHAND);

运行上面的程序后您将会看到原先的对话框中多出了一个红色的图标,那是一个表示出错时用的“叉叉”,这个图标我不喜欢,我比较喜欢感叹号,所以把程序改成:


 MessageBox(NULL, TEXT("Hello Windows98!"), TEXT("HelloMsg"), MB_OKCANCEL | MB_ICONASTERISK);

运行后您可以'高兴'地看到对话框中出现了一个白底蓝字的感叹号。

这样以来,您是不是对MessageBox()的后三个参数有所了解了呢?至于第一个参数,等到第三章时再议吧。What??您还是有点迷惑?-_-#我建议您给比尔-盖茨邮寄一个C4。

PMP学习笔记之第一章引论

什么是项目 定义: 项目是为创造独特的产品、服务或成果而进行的临时性工作   对独特性的理解:     对临时性的理解: 指项目有明确的起点和终点   作用: 项目可以创造一个产品,可能是其他产品的组...
  • zzc125
  • zzc125
  • 2016年11月01日 00:19
  • 438

Win32学习笔记 第一章 开始

Win32学习笔记作者: 姜学哲(netsail0@163.net)教材: Windows程序设计(第五版)北京大学出版社 [美]Charles Petzold 著 北京博彦科技发展有限公司 译  ¥...
  • villager
  • villager
  • 2003年05月01日 11:29
  • 983

《构建之法》第一章 概论

摘至 邹欣《构建之法》一书,以作学习之用 1. 大马哈鱼洄游模型 软件工程按照经典的瀑布模型 1. 需求分析 2. 设计阶段 3. 实现阶段 4. 稳定阶段 5. 发布阶段 6....
  • u011414200
  • u011414200
  • 2015年10月01日 23:09
  • 3743

C++primer第五版第一章学习笔记

1. 函数的定义: return type, function name, parameter list, function body // int为返回类型,main为函数名,小括号包围的是可以为...
  • sunhero2010
  • sunhero2010
  • 2015年11月03日 15:30
  • 523

【读书笔记:C++ primer plus 第六版 中文版】第2章:开始学习C++

转载请注明出处: 本章内容包括: 创建C++程序. C++程序的一般格式. #include编译指令. main()函数. 使用cout对象进行输出 在C++程序中加入注释. 何时以及如何使用endl...
  • enyusmile
  • enyusmile
  • 2015年06月21日 10:33
  • 823

《机器学习》周志华学习笔记——第一章 绪论

1)回归与分类:利用机器学习对离散值进行预测时,称为“分类”,而对连续值进行预测时,称为“回归”。 2)监督学习与无监督学习:根据训练数据是否有标记信息,学习任务可大致分为两大类,“监督学习”与“无...
  • laoma023012
  • laoma023012
  • 2016年08月01日 10:18
  • 1138

高等数学笔记(1)

为了看懂模式识别,复习了一下高数:1) 集合:并,交,补,差2)区间:开区间,半开区间,闭区间3)邻域:邻域,去心邻域,左邻域,右邻域;4)映射:单射,满射,一一映射,逆映射,复合映射;5)泛函:从非...
  • hawksoft
  • hawksoft
  • 2013年02月27日 10:30
  • 6581

深入解析Oracle学习笔记(第一章)

第一章 数据库的启动与关闭 1.Oracle启动过程中,观察告警日志,先列出参数文件中费缺省参数,然后是后台进程启动过程,包含PID和OS ID两个信息,其中PID表示该进程在数据库内部的标识符编号,...
  • lijingkuan
  • lijingkuan
  • 2015年08月04日 14:15
  • 833

『机器学习——周志华』学习笔记——第一章

1、机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。同时 Mitchell(1997) 给出了一个更形式化的定义:假设用 P 来评估计算机程序在某任务类 T 上的性能,若一个程序通...
  • Sbtgmz
  • Sbtgmz
  • 2016年05月24日 23:37
  • 2313

《机器学习》-- 周志华 (第一章学习笔记)

第一章学习笔记基本术语 分类(classification):若我们欲预测的是离散值,如“好瓜”“坏瓜”,此类学习任务成为“分类”。 回归(regression):若预测的是连续值,如西瓜成熟度0.6...
  • Cristal_yin
  • Cristal_yin
  • 2017年07月08日 13:11
  • 453
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Win32学习笔记 第一章
举报原因:
原因补充:

(最多只允许输入30个字)