BCB控件制作和消息处理[VC/C++编程]
本文“BCB控件制作和消息处理[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1 前言
作为和delphi近似的rad(rapid application development)工具,c++ builder的强盛功效不但表目前数据库开辟方面,也凸现于利用程序开辟上(令人称绝的是这两方面结合得非常好).仅就利用程序而言,要真正表现c++ builder的上风,开辟出高质量的软件,则在拖拉拽放之外,尚需用到一些进阶技术.如消息处理、dll、ole、线程、sdk编程.c++ builder在这些方面都或多或少有独到的上风.此外,可以便利地制作自定义控件,也是c++ builder的一大特点和高级功效.本文将通过制作一个标题棒在窗口左边的对话框控件,来示范一些c++ builder中关于控件制作和消息处理的概念,同时触及到一点sdk编程.我们将要制作的是一个对话框,就好像opendialog等一样,一调用其execute()办法,就弹出一个如图一所示的窗口.这个窗口的标题棒位于左方,绿色,文字走向为由下而上的90度字形,其功效和普通的标题棒相同,可以將鼠标移至该处来移动该窗口.
首先来完成这个窗口,然后用它来制作对话框控件.
2 操纵wm_nchittest消息制作竖直标题的窗口
.wm_nchittest消息
c++builder将某些windows消息封装于事件(event)中,但无法包括全部消息,如wm_nc**** 系列消息.wm_nchittest消息发生于游标(cursor)移动或鼠标按下、释放时,返回值指导目前游标所在位置,如返回hthscroll表示处于水平转动条内,返回htcaption表示处于标题棒内(拜见win32 sdk help).其参数xpos、ypos辨别表示游标的x、y坐标(相关于屏幕左上角),辨别对应于lparam的低字和高字.假如拦阻wm_nchittest消息,使得当鼠标在窗口左边按下时,人为地将返回值设为htcaption,则系统将认为是在标题棒内,于是将可以移动窗口,完成了标题棒的功效,至于颜色和文字,则与消息无关,将在下面论述其原理.
以上是“BCB控件制作和消息处理[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |