windows程序设计心得体会,请指正

haha_0_2000_2001 2002-04-21 03:21:41
Windows程序设计心得体会


//////////////////////////////////
//小序:
大家好,我叫竹本陈,“竹本”就是“笨”的意思,我的女朋友经常
这样叫我,久而久之也就真的笨了(嘿嘿,可千万不要让你的女朋友这样叫
你呀!)
学了这忙长时间windows程序设计(其实也不长),不免有一些想法,
总想写出来给大家“道姑道姑”(东北话,就是说一说),一来呢可以提高
本人的写作能力(因为实在是太逊了),二来可以加深自己的理解,没准还
能对你有帮助(不对的地方你可别客气压)
好了就说这么多了,进入正题!
//////////////////////////////////
//my code start here///////////////////////
//////////////////////////////////
windows程序设计也就是基于微软的windows操作系统而进行的程序设计。
(这是一句废话,但不要小看废话阿!真理往往就在其中)你有没有想过,为
什么是基于windows操作系统呢?下面就来解答:windows应用程序需要利用
由windows操作系统开放出来公用用程序使用的应用程序接口“API”(说道
重点了)windows提供了上千种API函数供应用程序使用。
上面说了,windows程序其实就是在非逻辑的使用这些API函数,我这里
提到了“非逻辑”三个字,这正是windows程序的精髓,这是一切windows程
序运行的方式(可能严重了点)。非逻辑也就是指程序不是按照事先安排好
的顺序来进行的,是根据用户的不同操作或者是其他某些原因一步一步进行
的。这种运行方式就叫做“消息驱动”
简单一点来解释一下何谓消息驱动,就是指应用程序始终在等待(等待
一词也许不他恰当,但可能好理解),它绝对不是在等待谁会给它爱(本人
爱开玩笑请别见怪!)它是在等待用户或者是系统的消息(也就是命令),
当接到消息后呢,它会把消息通过DispatchMessage(&msg)传递给窗口函数
(窗口函数就是一个应用程序的核心)窗口函数就会对照事先由程序编写好
的消息对照表调用对应的方法来处理消息。这样就完成一个消息的处理,接
下来准备处理下一个消息。
你也许会问那不是无休止的运行下去了吗?当然不会,下面我用程序
本身来说明这个问题:

//消息循环,通过此处来不断的取得消息。
while(GetMessage(&msg,NULL,0,0))

//消息进行一些转换
TranslateMessage(&msg);
//把消息传向窗口函数
DispatchMessage(&msg);
}
return msg.wParam;

就是这样了:当我们点击窗口右上角的小叉或者点击退出按钮时,
windows就会自动在我们的消息队列中加入一条消息“WM_DESTROY”,这
时呢窗口程序有这么一部分:
switch(message)
{
//其它代码
.........
//
case Destroy:
PostQuitMessage(0);
return 0;

相信一般的朋友都会明白吧,它的作用的就是在接收到WM_DESTROY时呢,
通过调用PostQuitMessage(0)让windows在消息列表中呢在加入另一条消
息“WM_QUIT".
当GetMessage函数抓取到WM_QUIT时返回0,其余返回非0值,懂了吧,
这下可以退出消息循环了。
这就是windows程序设计最基础的部分了,可以说是核心。

该说一些心得了,我认为学习windows程序设计不要基于某一部分,
而要把握住其大局,要有整体观,有了整体观对windows程序设计有了
一定的了解后在对其各部分下功夫(这是可不是照顾全局了,要静下
心来细心的咀嚼,要不然你会咽到的。)这样才不会走火入魔(嘿嘿)

就写到这吧,以后等我水平高些了再写(还早着呢,嘿嘿),希望
我没白费功夫,也希望对你有用,88。
竹本陈。
...全文
659 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

发帖
非技术区
创建于2007-09-28

1.5w+

社区成员

C/C++ 非技术区
申请成为版主
帖子事件
创建了帖子
2002-04-21 03:21
社区公告
暂无公告