版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB6的绘图方法与常用函数 VB6 的繪圖方法與常用函數 VB6的绘图方法与常用函数 常用繪圖方法(Method)指令 Cls Clear Screen,清除螢幕 用點、線、圓.等繪圖方法所畫出的圖形或 是用 Print 輸出的字串,都可以用Cls 方法來 加以清除。 語法 Object.Cls 物件.Cls VB6的绘图方法与常用函数 常用繪圖方法、指令(續) Pset 用來畫任意顏色的點 語法 Object.PsetStep(X, Y), color 其中的 X, Y 是單精度變數,因此可 以使用小數數值、變數。如果不指 定 color 引數,就以 ForeColor 屬性 的顏色為顏色。
2、 如果將color 引數,設定為 BackColor就會有消除的效果。 VB6的绘图方法与常用函数 常用繪圖方法、指令(續) Point 可以讀取任意點的顏色值 語法 Object.Point(X, Y) Picture1 AutoRedraw : True DrawWidth : 5 VB6的绘图方法与常用函数 常用繪圖方法、指令(續) Line 畫一條線 語法 B:畫框 BF:畫框且填滿 Object.LineStep(X1, Y1) Step(X2, Y2) ,Color, BF Line (X1, Y1)-(X2, Y2) Line (X1, Y1) VB6的绘图方法与常用函数 常用繪
3、圖方法、指令(續) Circle 畫圓 語法 Radius:半徑 Start:弧的起點 End:弧的終點 Aspec:長短軸比 Object.Circle Step (X, Y), Radius, Color, Start, End, Aspec VB6的绘图方法与常用函数 牛刀小試(1) 試寫一程式,模擬小畫家的噴霧、畫筆 與畫線的功能 VB6的绘图方法与常用函数 牛刀小試(1)-續 Picture1Box *1 Shape *16 CommandButton *8 VB6的绘图方法与常用函数 牛刀小試(1)-續 屬性設定 PictureBox (Picture1) AutoRedraw:T
4、rue Appearance:0 平面 BorderStyle:1 單線固定 ScaleMode:3 像素 Shape (Shape1(0)(15) CommandButton (Command15) Caption:如圖示 Command4(0)(3)表示線條寬度設定 VB6的绘图方法与常用函数 牛刀小試(1)-續 全域變數宣告: mode1噴霧、2畫筆、3畫線 ttt滑鼠左鍵點選的狀態0第一次點選、1第二次點選 xx, yy記錄滑鼠第一次點選的座標 selcolor從調色盤選取的顏色值 ttt的起始值設為0 Picture1的起始線條寬度為1 填充Shape1,建立調色盤 當滑鼠的左鍵點選
5、調色盤後,將色碼值 指派給selcolor變數 VB6的绘图方法与常用函数 牛刀小試(1)-續 當按下Command1設定為噴霧 當按下Command2設定為畫筆 當按下Command3設定為畫筆 當按下Command4(0)(3)時按所對應 Index的Caption設定Picture1的 線條寬度 當按下Command5時,清空Picture1的 內容 VB6的绘图方法与常用函数 牛刀小試(1)-續 當mode=1時(噴霧) ,以滑鼠所點選的位置座標為 中心,上下左右各延伸十個像素,以亂數取20個 座標點,分別畫上一點 當mode=2時(畫筆) ,以滑鼠第一次點選的位置為 基準繪上一點,並
6、令ttt變數值為1,倘若第二次點 選滑鼠,則令ttt變數值為0 當mode=3時(畫線) ,以滑鼠第一次點選的位置為 基準繪上一點,並令ttt變數值為1,以xx及yy變數 記錄起點,倘若第二次點選滑鼠,則令ttt變數值為 0,且於(xx,yy)到第二次的點選點繪製一條線 當mode=2且ttt=1時,移動滑鼠的同時,於Picture1 上繪製前一個座標到目前座標間的線條 VB6的绘图方法与常用函数 常用的字串函數 Left() 傳回字串左邊指定數量的字元 語法 Left_str=Left(Str, n) 將Str字串的左邊n個字元放到Left_str中 n為小數時,則系統會自動將n以四捨五入轉
7、成整數型 態 如果nStr的長度時,將傳回全部字串 Str=“ABCDEFG” sss=Left(Str,3) sss=“ABC” VB6的绘图方法与常用函数 常用的字串函數(續) Right() 傳回字串右邊指定數量的字元 語法 Right_str=Right(Str, n) 將Str字串的右邊n個字元放到Right_str中 n為小數時,則系統會自動將n以四捨五入轉成整數型 態 如果nStr的長度時,將傳回全部字串 Str=“ABCDEFG” sss=Right(Str,3) sss=“EFG” VB6的绘图方法与常用函数 常用的字串函數(續) Mid() 傳回字串中間指定數量的字元 語法
8、 Mid_str=Mid(Str,n) 將Str字串的第n個字元起後的全部字元放到Mid_str中 Mid_str=Mid(Str,n,m) 將Str字串的第n個字元起後的m個字元放到Mid_str中 Str=“ABCDEFG” sss=Mid(Str,3) sss=“CDEFG” Str=“ABCDEFG” sss=Mid(Str,3,4) sss=“CDEF” VB6的绘图方法与常用函数 常用的字串函數(續) Len() 傳回字串的長度 語法 Len_str=Len(Str) 將Str字串長度的值放到Len_str中 Str=“ABCDEFG” sss=Len(Str) sss=7 VB6
9、的绘图方法与常用函数 常用的字串函數(續) LTrim() 、Trim() 、RTrim() 刪除字串中的空白字元 L_str=LTrim(Str) 傳回Str字串左邊不含空白字元的字串 T_str=Trim(Str) 傳回Str字串左右兩邊不含空白字元的字串 R_str=RTrim(Str) 傳回Str字串右邊不含空白字元的字串 Str=“ ABCD ” sss=LTrim(Str) sss=“ABCD ” Str=“ ABCD ” sss=RTrim(Str) sss=“ ABCD” Str=“ ABCD ” sss=Trim(Str) sss=“ABCD” VB6的绘图方法与常用函数 常
10、用的字串函數(續) Space() 重複空白字元 語法 Space_str=Space(n) 傳回n個空白的字元 Str1=“ABCD” Str2=“EFGH” sss=Str1+Space(3)+Str2 sss=“ABCD EFGH” VB6的绘图方法与常用函数 常用的字串函數(續) String() 重複特定字元 語法 String_str=String(n,Str) 傳回n個Str字串的第一個字元 Str=“ABCD” sss=String(4,Str) sss=“AAAA” VB6的绘图方法与常用函数 常用的字串函數(續) Asc() 字元轉成Ascii碼 語法 Asc_str=As
11、c(Str) 傳回Str字串的第一 個字元轉成Ascii碼 Chr() Ascii碼轉成字元 語法 Chr_str=Chr(Str) 將數值資料轉成相 對應的Ascii字元 Str=“ABCD” sss=Asc(Str) sss=65 Str=65 sss=Chr(Str) sss=“A” VB6的绘图方法与常用函数 常用的字串函數(續) Tab() 定位函數 語法 Tab(n) 目前游標所在行的 最前面開始,向右 邊移動n個位置 與Print指令搭配使 用 Spc() 移位函數 語法 Spc(n) 目前游標所在位置 開始,向右邊插入 n個空白字元 與Print指令搭配使 用 VB6的绘图方法
12、与常用函数 常用的轉換函數 Int_str=Val(Str) 將字串轉為數值型態 Str_str=Str(Int) 將數值轉為字串型態 CV=FormatCurrency(X,n,vbTrue 或 vbFalse) 將數值資料轉為貨幣值格式 FP=FormatPercent (X,n,vbTrue 或 vbFalse) 將數值資料格式化為百分比格式 數值資料 小數位數 vbTrue:小數點前要補0 vbFalse:小數點前不補0 VB6的绘图方法与常用函数 常用的轉換函數(續) FN=FormatNumber (X,n,vbTrue 或 vbFalse) 將數值資料格式化 DV=FormatD
13、ateTime(X,顯示日期時間的格式) 假令X=#5/5/2003 10:10:19 PM# 則顯示日期時間的格式為 0 日期與時間 2003/5/5 PM 10:10:19 1 完整日期 2003年5月5日 2 簡短日期 2003/5/5 3 完整時間 PM 10:10:19 4 24小時格式 22:10 VB6的绘图方法与常用函数 常用的轉換函數(續) Week_name=WeekdayName(Str) 傳回星期的名稱給Week_name Month_name=MonthName(Str) 傳回月份的名稱給Month_name Reverse_str=StrReverse(Str) 將
14、字串Str反轉後回傳給Reverse_str Join_str=Join(Str_Array,d) 將字串陣列組合成一個字串,d代表分隔字元 VB6的绘图方法与常用函数 常用的數學函數 Abs(X) Sin(X) Cos(X) Tan(X) Atn(X) Exp(X) Log(X) Rnd(X) Sgn(X) CInt(X) Clog(X) Int(X) Fix(X) Sqr(X) Hex(X) Oct(X) Round(X,n) 求整數值 三角函數 求絕對值 指數函數 自然對數 亂數函數 符號函數 轉為整數函數 轉為長整數函數 求平方根 16進位函數 8 進位函數 依指定求出小數點位 數並四
15、捨五入 VB6的绘图方法与常用函数 常用的日期時間函數 Date 目前的系統日期 Time 目前的系統時間 Now 目前的系統日期與時間 VB6的绘图方法与常用函数 常用的日期時間函數(續) Timer 傳回一 Single型態的數值,其內容為從前 一個午夜算起到現在所經過的秒數。 Year(date) :傳回date變數的年份 Month(date) :傳回date變數的月份 Day(date) :傳回date變數的日期 Hour(time) :傳回time變數的小時 Minute(time) :傳回time變數的分鐘 Second(time) :傳回time變數的秒鐘 VB6的绘图方法与常
16、用函数 範例 試設計一萬年曆程式 VB6的绘图方法与常用函数 陽曆為何有閏年的安排?有何陽曆為何有閏年的安排?有何 規律性?規律性? 陽曆訂地球繞太陽公轉一周為一年,全年合計 365日,稱為平年(平均太陽年的簡稱),但 實際上地球繞日公轉一周平均為365.2422日, 因此每積四年就會多出約0.9688日,為了使曆 法能配合天象,規定當西元年數是四的倍數時, 二月就增加1天成29天,該年稱為閏年,又因 此法每四年又會多加0.03日左右,故再規定每 四百年需減3天,當西元年數逢百年的倍數時, 必需是400的倍數才是閏年,如1700、1800、 1900都是平年,只有2000年能被400整除才是
17、閏年。 VB6的绘图方法与常用函数 閏年的規則 西元年數為4的倍數者閏 100的倍數者不閏 但400的倍數者閏 所有的年 可被4整除的年 可被100整除的年 可被400整除的年 閏年 平年 VB6的绘图方法与常用函数 西元元年一月一日是星期幾? 星期一 VB6的绘图方法与常用函数 因此 西元元年一月三十一日是星期? 31 mod 7 = 3 星期三 西元元年二月十日是星期? (31 + 10) mod 7 = 6 星期六 西元二年一月十三日是星期? (365 + 13) mod 7 = 0 星期日 VB6的绘图方法与常用函数 版面配置 ComboBox Combo1 ComboBox Comb
18、o2 Label Label1(0) Label Label3 Label Label2 Label Label1(1) Command Button Command1(0) Command1(36) Command Button Command2 VB6的绘图方法与常用函数 所使用的變數 year (型態為long) 欲查詢的西元年 month (型態為integer) 欲查詢的月份 day (型態為long) 自西元元年一月一日至欲查詢的西元年月的第一天 的總天數 例如:欲查詢2001年12月,則day為西元元年1月1 日至2001年12月1日的總天數 month_day (型態為vari
19、ant) 一個儲存平年各月份天數的一維陣列 (31,28,31,30,31,30,31,31,30,31,30,31) VB6的绘图方法与常用函数 程式開始執行時的初值設定 在Combo1中加入1999年至2010年的選項 在Combo2中加入1月至12月的選項 按平年各月的天數來設定 month_day這個陣列的初始值 Month_day01234567891011 相對月份 123456789101112 相對天數 312831303130313130313031 VB6的绘图方法与常用函数 CommandButton2的內容 Private Sub Command2_Click() If
20、 MsgBox(是否確定離開?, vbOKCancel + vbQuestion, 離開) = vbOK Then End End If End Sub VB6的绘图方法与常用函数 CommandButton1要做什麼? 用來顯示月曆 以複製方式建立 Command1(0)Command1(36) VB6的绘图方法与常用函数 程式核心ComboBox2 希望當選定月份後立即顯示相對於所選年月的 月曆 因此,整個動作的重心就該放在ComboBox2 VB6的绘图方法与常用函数 ComboBox2的內容 滑鼠左鍵點選 Combo2兩次出現 Combo2_Change( )這不是所要的 Combo2
21、_Click才是所要的 副程式段 VB6的绘图方法与常用函数 ComboBox2的內容(續) VB6的绘图方法与常用函数 ComboBox2的內容(續) year = Val(Combo1.Text) month = Val(Combo2.Text) For i = 0 To 36 Command1(i).Caption = Next i 令變數year等於Combo1所點選 的年份,並透過Val函數將其轉 換為數值 令變數month等於Combo2所 點選的月份,並透過Val函數 將其轉換為數值 將Command1(0)到Command1(36) 上Caption所顯示的值清空 VB6的绘图
22、方法与常用函数 ComboBox2的內容(續) day = (year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400 計算所欲查詢的年份前一年至西元元年的總天數 假設欲查詢的是2001年12月,year = 2001 則從西元1年1月1日到西元2000年12月31日 共計有2000*365 + 2000/4 - 2000/100 + 2000/400 = 730000 + 500 20 + 5 =730485 天 先將每年都當作平年 (365天),計算總天數 其中共計有幾個閏年 VB6的绘图方法与常用函数 C
23、omboBox2的內容(續) If (year Mod 4 = 0 And year Mod 100 0) Or (year Mod 100 = 0 And year Mod 400 = 0) Then month_day(1) = 29 Else month_day(1) = 28 End If For i = 0 To month - 2 day = day + month_day(i) Next i 假如所欲查詢的年份(2001)為閏年的話 則其2月有29天,否則為28天 累計總天數至欲查詢的前一個月的最後一天(11月30日) 730485+31+28+31+30+31+30+31+31+30+31+30 = 730485 + 334 = 730819
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB37∕T 480-2010 《日光温室无公害菜豆生产技术规程》
- 产后恢复期的护理要点
- 安全生产管理措施专项方案
- 江西省宜春市宜丰中学2023-2024学年高三上学期开学考试政治试题(解析版)
- 安全技术措施方案
- 安全措施方案
- 江苏省苏州市区重点名校2026年初三10份综合模拟检测试题含解析
- 山东省青岛市集团校联考2026年普通高中初三教学质量检测试题(一)语文试题含解析
- 四川省营山县市级名校2025-2026学年初三第五次检测试题英语试题含解析
- 浙江省绍兴市越城区袍江中学2026届初三第一次联合考试英语试题理试卷含解析
- 合伙企业股权转让流程指南
- 长三角区域司法鉴定人职业能力测试笔试题库
- 2025年天津市北辰区事业单位考试真题
- 北京市第七届中小学生气象知识竞赛题及答案
- 国家安全生产考试焊工证电子版
- 九种体质辨识课件
- 2026年乌兰察布职业学院单招职业适应性测试题库必考题
- 食品生产车间管理制度
- 电解铝生产安全保障管理方案
- 2025年重庆历史高考试题及答案
- 煤气柜检修总结课件
评论
0/150
提交评论