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 WM_DESTROY: PostQuitMessage(0); return 0;
相信一般的朋友都会明白吧,它的作用的就是在接收到WM_DESTROY时呢, 通过调用PostQuitMessage(0)让windows在消息列表中呢在加入另一条消 息“WM_QUIT". 当GetMessage函数抓取到WM_QUIT时返回0,其余返回非0值,懂了吧, 这下可以退出消息循环了。 这就是windows程序设计最基础的部分了,可以说是核心。 该说一些心得了,我认为学习windows程序设计不要基于某一部分, 而要把握住其大局,要有整体观,有了整体观对windows程序设计有了 一定的了解后在对其各部分下功夫(这下可不是照顾全局了,要静下 心来细心的咀嚼,要不然你会咽到的。)这样才不会走火入魔(嘿嘿)
就写到这吧,以后等我水平高些了再写(还早着呢,嘿嘿),希望 我没白费功夫,也希望对你有用,88。 竹本陈。 
|