第三章窗体与常用组件.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章窗体与常用组件

C++ Builder 6 程序设计教程 第三章 窗体与常用组件 3.1 组件应用基础 常用事件 事件驱动编程(Event -Driven Programming)就是指通过对事件做出反应来进行编程 (1) 用户事件:由用户的行动触发,如OnClick , OnKeyPress , OnDblClick 等。 (2) 系统事件:由操作系统触发,如OnTimer ,OnCreate ,OnPaint 等。 OnClick事件 通常是按下鼠标左键时发生,以下情况也会发生: 当按钮或检查框具有焦点时,按下SPACE键 在活动窗体中存在Default属性为true的按钮且按回车键时 在活动窗体中存在Cancel属性为true的按钮且按ESC键时 当在列表框或组合框中通过按下箭头键选择一个项目时 当按下一个按钮或选择框的访问键时 当单选按钮的Checked属性被设为true时 当一个检查框的Checked属性的值被改变时 一个菜单项的Click方法被调用时 OnDblClick事件 通过鼠标的双击产生,主要应用于列表框、组合框、文件列表框等。 通常双击操作只是一个辅助操作,它实际上相当于选择某个项目后再单击某个按钮。因此在编写某个组件的OnDblClick事件代码时,一般只要显式调用某个命令按钮的OnClick事件过程即可 注意:如果一个组件既有 OnClick 事件代码,又有OnDblClick事件代码,则 OnDlbClick 事件将永远不会被触发 示例 OnKeyPress事件 用户按下键盘上任何一个可打印的字符时发生,只有能接收键盘输入的组件才有OnKeyPress事件 ,如编辑框和组合框 。 参数Key是用户的击键的ASCII码,若将它改为0则清除刚输入的字符 示例 OnKeyDown/OnKeyUp事件 按下某个键时,产生OnKeyDown事件;释放按键时,则产生OnKeyUp事件 void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD Key,TShiftState Shift) 参数Key返回键盘的虚拟码。可以使用虚拟码表示键盘上的非字母数字键的值;Shift参数提供事件发生时Shift、Ctrl 、Alt和鼠标三个键的状态 执行顺序:OnKeyDown事件-OnKeyPress事件-OnKeyUp事件 OnMouseDown、OnMouseUp、OnMouseMove事件 按下(MouseDown)、释放(MouseUp)鼠标按键或在移动鼠标(MouseMove)时发生 发生在TEdit组件上的OnMouseDown、OnMouseUp和OnMouseMove事件过程框架 : void __fastcall TForm1::Edit1MouseDown(TObject *Sender, TMouseButton Button,TShiftState Shift, int X, int Y) void __fastcall TForm1::Edit1MouseUp(TObject *Sender, TMouseButton Button,TShiftState Shift, int X, int Y) void __fastcall TForm1::Edit1MouseMove(TObject *Sender, TShiftState Shift,int X, int Y) Button :返回一个枚举型,用来标识该事件的产生是按下(MouseDown)或者释放 (MouseUp)鼠标按键引起的。值为mbLeft、mbRight、mbMiddle,分别表示左键、右键、中间键。X、Y:返回一个指定鼠标指针当前位置的坐标 示例 OnDragDrop/OnDragOver事件 拖放(DragDrop)是Windows提供的一种快捷的操作方式。在某对象上按住鼠标不放,将该对象移动的动作称为“拖动”(Drag)。当对象拖动到目的对象上方,放开鼠标左键将对象放下的动作称为“放置”(Drop),拖动对象正越过另一个对象上方的过程称为“越过”(DragOver) DragMode属性 :设置拖动模式,为dmAutomatic,则用户在组件上按下鼠标时拖动自动开始,如果为dmManual(默认),则将通过处理鼠标事件来判断一个拖动是否可以开始 OnDragOver事件在拖放操作正在进行时发生 在一个完整的拖放动作(即将一个组件拖动到一个对象上,并释放鼠标按键)完成时,OnDragDrop 事件发生 如TEdit组件的DragDrop/Dr

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档