第十二章 事件 12-1 KeyPress 12-2 KeyDown及KeyUp

Slides:



Advertisements
Similar presentations
第6章 Photoshop 的浮动面板 本章节学生应熟练掌握Photoshop的浮动面板的组成和使用。 教学重点:
Advertisements

觀舌知健康 第三課 蒲公英學會 蒲公英學會.
概述 6.1 导航器面板 6.2 信息面板 6.3 调色板面板 6.4 色板面板 6.5 样式面板 6.6 历史记录面板
第 1 章 公共基础知识 第 2 章 Visual Basic程序开发环境 第 3 章 对象及其操作 第 4 章 数据类型及其运算
日月潭的水怪 動畫重新著色過的圖片淡出成為黑白圖片 (進階)
第四章 文字处理软件 Word 2000.
清华大学“信息技术教学一条龙”实验教材编写组
第 2 章 Word 快速上手.
市民三小時免費上網線上教學 入門班.
 教学要求  本次课小结 4.6 在文档中插入表格 徐水职教中心计算机教研室
感谢各位家长在百忙之中抽出时间参加本次家长会 !
第3章 指法训练和汉字输入 学习目标 键盘和指法 智能ABC输入法简介 五笔字型汉字输入法.
和码汉字字形技术 和码汉字字形学习法 和码汉字字形输入法.
一、平面点集 定义: x、y ---自变量,u ---因变量. 点集 E ---定义域, --- 值域.
消防安全伴我行! 济宁市兖州区第九中学 刘新成.
WINDOWS98资源管理器教案 一、   教学目标 1、知识目标:掌握资源管理器的结构;通过资源管理器掌握利用左键和右键的拖动完成文件及文件夹的复制和移动这两个操作;能分别使用左键和右键进行这两种操作,且能区分左键和右键的不同。
模块三、中文 Word 2003 的基本操作 3.1 Word 2003 基本操作 3.2 文档的排版 3.3 页面设置与打印 3.4 表格
第五节 表格处理 创建表格 表格的编辑与格式化.
开放教育入学培训 —— 计算机培训: 基础知识
管理学基本知识.
滁州学院首届微课程教学设计竞赛 课程名称:高等数学 主讲人:胡贝贝 数学与金融学院.
职业责任保险 郝豫华
项目六 其他工具应用 任务一 裁剪图像 任务二 擦除图像背景 任务三 【3D】工具应用.
第五课 小设计师.
中文Word 要求: 掌握Word的基本功能、特点、运行环 境、启动与退出; 掌握文档的基本操作; 掌握文档的版面设计和排版;
第5章 窗体和控件 5.1 窗体概述 5.2 使用向导创建窗体 5.3 向窗体添加控件 5.4 窗体的再设计 5.5 利用窗体操作数据
文字处理软件Word 第三讲 文字处理软件的发展
第3章 Word 2003文字处理 3.1 字处理软件概述 3.2 Word 2003 概述 3.3 Word 2003的基本操作
第2课 Photoshop的基本操作 本章要点 具体要求 本章导读 上机练习 主讲教师:赵 渊.
會議管理 楊百川老師.
簡易送審動態案件網 路報送作業操作訓練 資料來源 銓敘部製作 報告人 饒瑞恭 日 期: 101 年 6 月 15 日.
第 1 章 跨入 Word 的世界.
计算机基础与实训教材系列 《电脑办公自动化实用教程(第三版)》.
永年县村卫系统培训 2013年5月 北京北航冠新世纪软件有限公司 公司电话: 、
Windows的快速鍵指令集.
尋找世界文明的曙光 美索不達米亞 將地方圖案插入此投影片 選取〔插入〕功能表 〔圖片〕指令 選取〔從檔案〕指令 選取你的標幟圖片檔案
第貳部份 Word文書處理系統 Word文書處理系統可用來製作一般文字型檔案,搭配格式化版面,也可用來製作像套版式之公文表格。 聯合.盧坤勇.
第二章 Windows XP操作系统 网考小组.
Visual Basic程序设计 第八章 过程 -子程序和函数
第8章 键盘、鼠标事件和图形 Visual Basic为用户提供了键盘、鼠标事件用于响 应键盘操作和鼠标操作。在Visual Basic中,大多 数控件都有键盘事件和鼠标事件。这一章将讲述 与键盘和鼠标相关的内容,除此之外,还有通常 在鼠标事件中出现的关于绘制图形方面的内容。
附錄E Access事件類別 主從式資料庫系統 - 附錄E.
湖北职院计科系.
第十二章 Win32環境程式設計 這一章節可以說是本書精華之一,Win32程式設計算是比較複雜的部分,但是我們以最簡單的敘述帶領著大家進入Win32程式設計的殿堂,讓你寫出來的程式具有一定的水準以上。若能將本章與下一章的技巧靈活運用,更能讓大家寫出高階的視窗程式。
今天上課流程表 一 復習 當機急救法 。 二 怪客故事(二) 三 校園打字機— 高級 60秒, 零錯字。
高等学校计算机基础教育教材 Visual Basic 6.0 程序设计 上海中医药大学现代教育技术中心 计算机教学部 1.
第六章 擷取輸入裝置的訊息和事件 鍵盤、滑鼠,是我們最常使用的輸入工具。我們是不是常常希望可以再按下某個按鈕後就可以有哪些功能出現呢?沒錯,這就是這一章節的重點,在第四章,我們提到了有關鍵盤、滑鼠、以及RS-232介面的事件及訊息偵測,讓我們更能掌控電腦週邊的硬體。
MS Windows XP 作業系統使用操作簡介.
如何製作 PowerPoint 簡報 做得迅速又漂亮.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
VB程序设计语言 主讲教师:王 杨.
東部海岸 馬蘭國小 五年己班 閔芳頤 Enter
第三冊第十四課記承天夜遊 王永榮 將地方圖案插入此投影片 選取〔插入〕功能表 〔圖片〕指令 選取〔從檔案〕指令 選取你的標幟圖片檔案
“此处为动画设置引言的占位符。” – 来源 栩栩如生的雪景 (难点)
注音輸入法教學 大華技術學院資管系 指導老師:陳信如老師 學生:王麗嵐.
第二章 操作系统Windows XP(2) 一、文件和文件夹的管理 1、文件和文件夹命名规范 2、文件或文件夹的定位
信息技术试卷评价交流 南京市第五十中 蔡晓红.
第八次上課流程表 *** 大頭貼 1. 請到 大頭貼網站 製作圖檔 2. 將圖片存到桌面(按右鍵---另存圖片)
Ⅲ. 邮箱-环境设置-选项 간지 Ⅰ. 시스템소개 Autoway Groupware User Manual | 规则 | 选项
Word 2003 學習導引手冊 第二章 輸入文稿與設定格式 作者 丁安強 博碩-Word 2003 學習導引手冊 Ch02.
陳以德 Yiter Chen 電腦軟體應用 – 丙級 陳以德 Yiter Chen
合歡山 馬蘭國小 五年己班 何宜倞 ENTER.
Word
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年10月18日.
第八章: 輸入裝置-鍵盤與滑鼠.
Excel 2010电子 表格制作案例教程.
办公软件的技巧 Tips of the work software
1、复选框和单选按钮 2、框架 3、列表框和组合框 4、滚动条 5、鼠标器事件 6、键盘
| | 那天,I Miss U I Miss PPT宝藏网整理发布- ~ 、 Tab Enter
Word 2010 文書處理技巧 圖資中心資訊組 李訓榮.
用加減消去法解一元二次聯立方程式 台北縣立中山國中 第二團隊.
Presentation transcript:

第十二章 事件 12-1 KeyPress 12-2 KeyDown及KeyUp 第十二章 事件 12-1 KeyPress 12-2 KeyDown及KeyUp 12-3 MouseDown、MouseUp及 MouseMove 12-4 DragOver與DragDrop

在本章之前,本書常用的事件為滑鼠的Click事件及表單的Active及Create事件, 本章的重點則是集中介紹一些鍵盤的 KeyPress、KeyDown及KeyUp事件、滑鼠的MouseDown、MouseUp、MouseMove、DragOver(拖曳且越過)及DragDrop(拖曳且放置)等常用事件,學習本章之後,將有助於提昇電玩控制、影像繪圖等軟體的靈活度。

12-1 KeyPress 當使用者按一下鍵盤的一般字元、倒退鍵及Enter鍵等具有ASCII碼的鍵時,都會產生KeyPress事件,電腦並傳回按鍵的字元。KeyPress的語法如下: procedure TForm1.來源物件 KeyPress(Sender: TObject; var Key: Char); 以上語法說明如下: Key 傳回使用者所按的字元。

範例12-1a 示範KeyPress事件的用法。

12-2 KeyDown及KeyUp 上一節的KeyPress僅能傳回一般字元、倒退鍵及Enter鍵,對於一些功能鍵、移位鍵及按鍵的同時是否按下 、 及 鍵則沒有反應。若要偵測以上特殊鍵功能,或深入研究到底是鍵盤被按下去、或彈上來的特殊時點,則可使用本節的KeyDown及KeyUp,KeyDown與KeyUp的語法完全相同,如下所示: //KeyDown procedure TForm1.來源物件KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); //TShiftState 是集合型態 //KeyUp procedure TForm1.來源物件KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); 以上語法說明如下: Key 鍵盤各鍵的Unicode。

傳回按鍵的同時是否也按Shift 、Ctrl 或 Alt鍵,Shift值如下表,其型態是集合。 以下範例可印出使用者所按鍵盤的Unicode、Shift參數及回應使用者按鍵的同時是否按下 Shift 、 Ctrl 及 Alt 鍵。 Shift值 按下之鍵 ssShift Shift鍵 ssCtrl Ctrl鍵 ssAlt Alt鍵

範例12-2a 示範KeyDown事件。

範例12-2b 請設計一個踩影子遊戲,遊戲規則如下: 使用者用鍵盤的上、下、左、右 鍵及加速鍵操控螢幕的鐵錘,錘打依亂數自由移動的笑臉圖案,當鐵錘打到笑臉時印出使用者按鍵次數及使用時間。 程式說明: 本例使用表單的KeyDown事件,表單的KeyDown較為特殊,其使用前提是表單不得含有任何具有KeyDown事件的元件,例如Edit、Button及Memo等元件。

範例12-2c 同上範例,但採用炮彈發射型,笑臉左右移動、鐵錘向上發射,並可由使用者加速、減速、向左及向右移動。

12-3 MouseDown、MouseUp及MouseMove 滑鼠的最常用事件為Click與DblClick,若要進一步得知是滑鼠的何鍵被按、按鍵的滑鼠指標座標及按鍵的同時是否也按鍵盤的 、及 ,則應使用本節的MouseDown、MouseUp或MouseMove。其中MouseDown是任意滑鼠鍵被按均產生此事件,MouseUp則是產生於滑鼠任意鍵被按下去且彈上來時,MouseMove則只要使用者將滑鼠移過某物件上方時,該物件即產生MouseMove事件,以上三事件語法如下: //MouseDown procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); //TShiftState 是集合型態 //MouseUp procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); //MouseMove procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

並非所有物件的MouseDown與MouseUp皆有Button參數,只有少 以上語法說明如下: 1. Button參數 並非所有物件的MouseDown與MouseUp皆有Button參數,只有少 數的物件有此參數,例如Form與Image。此參數可傳回滑鼠的那 一鍵被按,其型態是TMouseButton的列舉型態,傳回值如下表。 2. Shift參數 Shift是一種集合型態,傳回滑鼠被按下或放開時鍵盤 、 或 鍵被按的情形,但有些物件沒有Button參數,故此參數亦傳回滑鼠的何鍵被按一下或放開,Shift參數值如下表: 3. X,Y 傳回滑鼠按鍵被按、或放開的座標位置 Button的值 被按下或放開之滑鼠鍵 mbLeft 左鍵 mbRight 右鍵 mbMiddle 中間鍵 Shift的值 按鍵情形 ssShift 鍵盤 Shift 被按 ssCtrl 鍵盤 Ctrl 被按 ssAlt 鍵盤 Alt 被按 ssLeft 滑鼠左鍵被按 ssMiddle 滑鼠中間鍵被按 ssRight 滑鼠右鍵被按

範例12-3b 請設計一個簡易繪圖程式,其功能如下: 1. 使用滑鼠當作畫筆。 2. 滑鼠按鍵的左右鍵分別代表紅色與綠色 3. 鍵盤的 Shift 、 Ctrl 及 Alt 分別代表筆寬為1、2及4

12-4 DragOver與DragDrop DragOver是將某物件拖曳至另一物件上方的事件,DragDrop是將某物件拖曳至另一物件上方並放下的事件,兩者都牽涉兩個物件的互動,其語法如下: //DragDrop procedure TForm1.目的物件DragDrop(Sender, Source: TObject; X, Y: Integer); //DragOver procedure TForm1.目的物件DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); 以上語法說明如下: 1. 目的物件 目的物件可為表單或任意元件。 2. Source 其型態為物件,代表拖曳的來源物件,請看範例說明。

傳回來源物件進入或離開目的物件,型態為TDragState的列舉型態,其值如下表: 4.X,Y 傳回滑鼠於目的物件的座標。 DragOver與DragDrop的產生有兩種模式,其一是手動模式(dm Manual),另一是自動模式(dmAutomatic),使用方式是由DragMode屬性設定,預設值為dmManual。手動模式必須由程式設計者使用Drag方法拖曳,本書暫不予介紹。本書僅介紹自動模式,當程式設計者將DragMode設為dmAutomatic時,使用者即可拖曳物件。其次,拖曳的過程若要顯示被拖曳的物件,則應使用DragOver事件顯示其過程。最後,放下時所要處理的事則交由DragDrop事件處理,請看以下範例。 State值 意義 dsDragLeave 離開 dsDragMove 進入

範例12-4a 示範DragOver的用法。

範例12-4b 請寫一個兒童語文測驗程式,題目要求如下: 1.由使用者拖曳圖片至相對的文字上方放下 2.當圖片接近文字時,文字出現“Hello”問候語 3.當圖片離開文字時,文字出現“Bye”問候語 4.若圖片與文字相符,則圖片消失,否則電腦發出Beep聲,使用者可繼續尋找對應的文字。 程式說明: if(Source=img.Chip) 本例表單上有兩個物件可被拖曳,當目的物件 (表單)有來源物件DragOver時,應使用Source判斷來源物件為何。本例使用if敘述判斷來源物件,程式較好理解但較冗長,下一範例可改善此缺點。

範例12-4c 請設計一個3×3的智慧方塊,使用者可將依亂數排列的小方塊重新排列。 程式說明: (Source as TEdit).Left:=x ; 上例使用if敘述判斷Source的來源,但來源物件多時,程式就顯得冗長,本例採用上式直接設定來源物件的屬性,才能簡化程式的撰寫。

範例12-4d 同上範例,但是幫使用者尋找最佳的落點,就如同Windows的接龍遊戲,使用者只要將紙牌丟在目的地附近,電腦會幫使用者尋找恰當的落點。 程式說明: 1. 本例定義每一物件的左上角座標如下: 2.當拖曳物件時,滑鼠當時的座標(X,Y)即與以上9個位置比較,何者距離最短,則是該物件的落點,並將該物件移至正確的位置。 (65,65) (130,65) (195,65) (65,130) (130,130) (195,130) (65,185) (130,195) (195,195)

習題 同範例12-4d,但應預防使用者跨方塊拖曳方塊,也就是只能拖曳方塊至緊臨的空白位置,而不能跨過方塊。