欢迎来到天天文库
浏览记录
ID:37909125
大小:37.50 KB
页数:8页
时间:2019-06-02
《C++初学者问与答(五)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++Builder初学问与答5关键字:C++Builder初学问与答,ch_builder,特殊输入控制类作者:ch_builder 更新:2003-08-21 浏览:11703(版权要求:本文除了经过CSDN授权或作者同意,不得转载)本站已获得作者授权同意转载38)问:事件OnChange和OnScorll都可以描述滚动条的滚动事件,他们有什么区别吗?答:事件OnChange和OnScorll是有区别的。只要属性Position的值发生改变,那么无论这个值是用户操作滚动条引起的还是通过程序修改的,都会产生OnChange事件。而O
2、nScorll事件只有在用户操作滚动条时才发生。当用户操作滚动条时,首先发生OnScorll事件,然后OnChange事件才会发生。下面我们共同看一个程序来加深对滚动条的理解。在窗体上放置一个水平滚动条ScrollBar1和一个垂直滚动条ScrollBar2,以及一个记录滚动条事件的Memo组件。当用户操作滚动条时,在Memo组件中就会显示发生的事件。选择Memo组件,把它的ScrollBars属性设置为ssVertical。选择水平滚动条组件,双击OnScroll的Value域,系统将生成事件处理模板,输入这样一段代码。void__fa
3、stcallTForm1::ScrollBar1Scroll(TObject*Sender,TScrollCodeScrollCode,int&ScrollPos){AnsiStringtemp;if(Sender==ScrollBar2)temp="垂直滚动条的";elsetemp="水平滚动条的";switch(ScrollCode){casescLineUp:temp+="scLineUp";break;casescLineDown:temp+="scLineDown";break;casescPageUp:temp+="scPag
4、eUp";break;casescPageDown:temp+="scPageDown";break;casescPosition:temp+="scPosition";break;casescTrack:temp+="scTrack";break;casescTop:temp+="scTop";break;casescBottom:temp+="scBottom";break;casescEndScroll:temp+="scEndScroll";break;default:temp+="未知";break;}Memo1->Lines-
5、>Append(temp+"事件");}第一条语句声明一个AnsiString类型的变量,用来存放将要显示的字符串。第二条语句判断发送事件的对象,如果是垂直滚动条,将temp初始化为“垂直滚动条的”,否则初始化为“水平滚动条的”。第三条语句根据ScrollCode的值,显示相应的事件。最后一条语句将要显示的字符串加到文本框的末尾。在窗体中选择垂直滚动条组件,选择Events标签,单击OnScroll的Value域,从下拉列表框中选择ScrollBar1Scroll事件处理程序。这样,垂直滚动条和水平滚动条将共用一个事件处理程序。选择水平滚
6、动条组件,选择Events标签,双击OnChange域,然后输入:Memo1->Lines->Append("水平滚动条的OnChange事件");它将在文本框后面显示水平滚动条改变的信息。类似的,给垂直滚动条的OnChange事件加上如下代码:Memo1->Lines->Append("垂直滚动条的OnChange事件");详细代码如下://---------------------------------------------------------------------------#include#pragmahd
7、rstop#include"Unit1.h"//---------------------------------------------------------------------------#pragmapackage(smart_init)#pragmaresource"*.dfm"TForm1*Form1;//---------------------------------------------------------------------------__fastcallTForm1::TForm1(TComponent
8、*Owner):TForm(Owner){}//------------------------------------------------------------------------
此文档下载收益归作者所有