关于windows程序设计的心得体会

类别:VC语言 点击:0 评论:0 推荐:

              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。
                                     竹本陈。

本文地址:http://com.8s8s.com/it/it2596.htm