当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: C++ Builder作为一种RAD方式的程序开发工具,其全新的可视化编程环境、面向组件的开发模式无疑会大大地提高编程效率。
 

 

 ·计算机短信diy    »显示摘要«
    摘要:   手机短信已经成为当今的流行时尚,但怎样在计算机之间体验短信的方便与快捷呢?其实我们利用windows 2000提供的信使服务就可以自制一个短信发送程序,令笔者最为得意的是它几乎可以穿越各种网络防火墙,不受限制。  信使服务是指“计算机管理”中的“发送控制台消息”。“计算机管理”将多个windows 2000管理工具合并到了一个控制台树中,使用户可以轻松地访问特定计算机的管理属性和工具,实......
 ·80386asm程序设计基础(八)    »显示摘要«
    摘要: 80386实模式下编程 80386在实模式下是一个更快的8086,它不但可以进行32位操作,而且还可以进32位寻址,并且还可以使用80386的扩展指令。不过,由于是在实模下,寻址的最大空间为1m。在一个段内,段的最大长度不超过64k,否则就会发生异常。 在8086下定义一个段的完整格式是: 段名 [定位类型] [组合类型] [‘类别’] 80386下定义一个段的完整格式是: 段名 [定位类型] ......


C++ Builder中消息处理过程及应用
c++ builder作为一种rad方式的程序开发工具,其全新的可视化编程环境.面向组件的开发模式无疑会大大地提高编程效率.它对繁杂的windows 消息及api作了较全面的封装,编程者在大多数情况下不需理会windows消息的细节,只要将心思放在组件的事件处理函数上即可.然而,毕竟windows操作系统是一个以消息驱动的系统,运行其上的应用程序,自然无法脱离系统之外,因此掌握并运用消息处理,对一些问题的处理会有事半功倍的效果.

  尽管c++ builder的vcl控件封装了大多数常用的消息,c++ builder所提供的事件处理能力也具备了相当程度的完备性,但当处理c++ builder 未定义的windows消息或自定义消息时,掌握c++ builder 的内部消息处理机制还是十分必要的.下面,从windows 操作系统消息驱动机制开始,进而探讨c++ builder的vcl控件中消息的封装.传递与处理机制,最后以新增消息处理过程的应用实例作为对所讲内容的验证与实践.

  windows是以消息驱动的操作系统,windows 消息提供了应用程序与应用程序以及应用程序与windows系统之间进行通讯的手段. 【程序编程相关:iczelionVxdtut2

  一.windows 消息驱动机制 【推荐阅读:iczelionVxdtut3

  消息循环代码是应用程序中主函数winmain ( )中类似如下的程序段: 【扩展信息:iczelionVxdtut1

  windows 中有一个系统消息队列,对于每一个正在执行的windows应用程序,系统为其建立一个“消息队列”,即应用程序队列,用来存放该程序可能创建的各种窗口的消息.应用程序中含有一段称作“消息循环”的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中.

  while(getmessage(&&msg,null,null,null))

  { //从消息队列中取得消息

  translatemessage(&&msg);

  //检索并生成字符消息wm_char

  dispatchmessage(&&msg);

  //将消息发送给相应的窗口函数

   }

  由此可见,所谓“消息循环”,实际是程序循环.

  windows 应用程序创建的每个窗口都在系统核心注册一个相应的窗口函数,窗口函数程序代码形式上是一个巨大的switch 语句,用以处理由消息循环发送到该窗口的消息,窗口函数由windows 采用消息驱动的形式直接调用,而不是由应用程序显示调用的,窗口函数处理完消息后又将控制权返回给windows.


...   下一页
 ·80386asm程序设计基础(六)    »显示摘要«
    摘要:高级语言支持,条件字节设置指令 aa.高级语言支持指令,开始于80186,主要是用来简化高级语言的某些特征,总共有3条指令:enter,leave,bound a.enter,leave,建立与释放堆栈框架命令。在c语言中,栈不仅用来向函数传递入口参数,而且在函数内部的局部变量也存放在栈中。为了准确地存取这些这些局变量和准确地获得入口参数,就需要建立堆栈框架,先看一个小程序: //c progra......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE