春VB程序設計第部分窗體和菜單設計_第1頁
春VB程序設計第部分窗體和菜單設計_第2頁
春VB程序設計第部分窗體和菜單設計_第3頁
春VB程序設計第部分窗體和菜單設計_第4頁
春VB程序設計第部分窗體和菜單設計_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、教材: Visual Basic程序設計教程(第三版)高等教育出版社Visual Basic 程序設計(二)1第2部分 窗體和菜單設計一、窗體二、菜單設計2一、窗體(Form)1、用戶創(chuàng)建一個工程時,VB系統(tǒng)自動提供一個窗體,名為Form12、需要多個窗體的添加方法:“工程”菜單“添加窗體”命令在“添加窗體”對話框中選擇窗體類型單擊“打開”按鈕33、窗體的常用屬性1.窗體名稱(運行時只讀)(名稱):窗體的名稱,在程序代碼中標識窗體對象2.涉及窗體外觀的屬性BorderStyle: 指定窗體邊框的樣式 Caption: 窗體的標題Icon: 指定在窗體左上角的小圖標文件名4ControlBox:

2、 指定是否在窗體左上角顯示控制菜單框 =True 顯示(默認) =False 不顯示MaxButton: 指定是否在窗體右上角顯示最大化按鈕 =True 顯示(默認) =False 不顯示MinButton: 指定是否在窗體右上角顯示最小化按鈕 =True 顯示(默認) =False 不顯示5Picture: 指定在窗體背景上顯示的圖片文件名在程序代碼中可以利用LoadPicture函數(shù)設置該屬性;格式為:對象名.Picture=LoadPicture(文件名)省略文件名時,可以清除原對象內(nèi)的圖片6Font: 在屬性窗口中設置窗體上顯示的字體、字型、字號等在程序代碼中用下列屬性:FontNam

3、e: 字體名稱FontSize: 字號大小FontBold: 是否為粗體FontItalic: 是否為斜體字FontStrikethru: 是否加刪除線FontUnderline: 是否加下劃線FontTransparent: 是否為透明字7BackColor: 窗體的背景顏色ForeColor: 窗體中顯示的文本或圖形的顏色VB代碼中設置顏色的常用方法(3種 ) 直接使用VB中的顏色常量 使用RGB函數(shù),格式為 : RGB(紅色值,綠色值,藍色值) 每種顏色的取值在0255之間 使用QBcolor函數(shù),格式為: QBColor(顏色值) 顏色值的取值為015的整數(shù)8例 單擊窗體時,窗體背景顏

4、色在紅、綠、藍三種顏色之間循環(huán)改變。93. 涉及窗體位置和大小的屬性Height:窗體的高度,單位為Twip(緹0.005磅)Width: 窗體的寬度Left:Top: 窗體左上角距容器左上角的距離CurrentX:CurrentY: 用Print方法輸出時,當前輸出位置的坐標WindowState:窗體運行時顯示的狀態(tài)(3種)例 改變窗體的大小和位置.104. 涉及窗體行為的屬性AutoRedraw: 是否重畫屏幕圖象 =True 重畫(默認) =False 不重畫114 窗體的常用事件和方法系統(tǒng)事件:由系統(tǒng)內(nèi)部自動觸發(fā)鼠標事件:鍵盤事件:事件的來源由用戶輸入觸發(fā)12 在窗體的加載過程的各階

5、段所用一的語句或方法以及所觸發(fā)的事件可用下面的圖來說明: 在窗體的卸載過程的各階段所用一的語句或方法以及所觸發(fā)的事件如下圖: Unload 語句QueryUnloadUnload131 Load事件 窗體被加載到內(nèi)存時發(fā)生的事件 一般利用該事件對應用程序進行初始化設定工作 例如: 指定控件缺省設置值; 指明將要裝入 ComboBox 或 ListBox 控件的內(nèi)容; 初始窗體級變量等。常用的窗體事件142 Activate事件 在Load事件后觸發(fā),此時窗體是活動的。 可以使用Print方法輸出信息; 15常用的鍵盤事件1. 鍵盤事件 KeyPress事件:按下&釋放 ASCII碼 按鍵; K

6、eyUp事件: 釋放 任意一按鍵; KeyDown事件:按下任意一按鍵;注意:窗體的 Form1.KeyPreview = TRUE 在激活窗體上的控件的鍵盤事件之前,優(yōu)先激活窗體對象的鍵盤事件。162. KeyPress事件Private Sub Form_KeyPress(KeyAscii As Integer) 按下并釋放 任意 ASCII 按鍵時觸發(fā)該事件End SubPrivate Sub 對象名_KeyPress(KeyAscii As Integer) 按下并釋放 任意 ASCII 按鍵時觸發(fā)該事件End Sub173. KeyUp、KeyDown事件Private Sub 對象

7、名_KeyUp(KeyCode As Integer, _ Shift As Integer) 釋放 任意按鍵時觸發(fā)該事件End SubPrivate Sub 對象名_KeyDown(KeyCode As Integer, _ Shift As Integer) 按下任意 按鍵時觸發(fā)該事件End Sub18注意:大寫字母和小寫字母的KeyCode碼相同KeyCode參數(shù):用戶按鍵的掃描碼Shift參數(shù): =1,表示Shift鍵被按下(vbShiftMask) =2,表示Ctrl 鍵被按下( vbCtrlMask ) =4,表示 Alt 鍵被按下( vbAltMask ) 例:Shift鍵和Ct

8、rl鍵同時被按下,Shift參數(shù)的值=3Shift參數(shù)是三位二進制整數(shù): XXX19常用的鼠標事件1. Click 事件 用戶單擊窗體時觸發(fā)該事件 若單擊窗體上的控件或?qū)ο?,則觸發(fā)控件或?qū)ο蟮膯螕羰录?. DblClick 事件 用戶雙擊窗體時觸發(fā)該事件注意:雙擊過程首先觸發(fā)一次Click事件 , 然后才觸發(fā)該事件(DblClick) 203. MouseDown事件和MouseUp事件Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) 按下鼠標按鈕時觸發(fā)該事件E

9、nd SubPrivate Sub Form_MouseUp(Button As Integer, _ Shift As Integer, X As Single, Y As Single) 釋放鼠標按鈕時觸發(fā)該事件End Sub21Button參數(shù):只能檢測單個按鈕 =1,表示鼠標左鍵觸發(fā)了事件 =2,表示鼠標右鍵觸發(fā)了事件 =4,表示鼠標中間鍵觸發(fā)了事件Shift參數(shù): =1,表示Shift鍵被按下 =2,表示Ctrl 鍵被按下 =4,表示 Alt 鍵被按下 例:Shift鍵和Ctrl鍵同時被按下,Shift參數(shù)的值=3Button參數(shù)和Shift參數(shù)分別是 3 位二進制整數(shù): XXX22

10、4. MouseMove事件Private Sub Form_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) 在窗體上移動鼠標時觸發(fā)該事件End Sub Button參數(shù):可以檢測全部按鈕狀態(tài) =1,表示鼠標左鍵處于按下狀態(tài) =2,表示鼠標右鍵處于按下狀態(tài) =4,表示鼠標中間鍵處于按下狀態(tài)Shift參數(shù)、X、Y參數(shù):功能同前23關于MouseXXX事件的說明:三個事件結(jié)合使用常用于實現(xiàn): 應用程序運行狀態(tài)下控件在窗體上的移動; 結(jié)合繪圖方法實現(xiàn)圖形動畫效果(如橡皮筋線)。例:橡皮筋線 (曲線、

11、直線、矩形)24窗體的常用方法窗體名.Show 顯示方式所屬窗體窗體名.Hide窗體名.Cls窗體名.Move top,width,height窗體名.Unload顯示方式:一個整數(shù),它用以決定窗體是模式還是無模式 。如果 style 為 0,則窗體是無模式的;如果 style 為 1,則窗體是模式的。 窗體名.Print 信息字符串25使用Print方法輸出數(shù)據(jù)對象名可以是窗體名(Form)或圖片框名(Picture)例 : Form1.Print “x=“;5*6,”y=“;7+8 Picture1. Print “歡迎進入VB世界”對象.Print 輸出數(shù)據(jù)列表省略對象時,向當前窗體上輸

12、出輸出數(shù)據(jù)之間可以用空格、分號或逗號分隔; 空格或分號:緊湊格式輸出 逗號:標準格式(14字符列寬)輸出 空表達式:換行 對象名. Show26Print方法的相關函數(shù)Tab(整數(shù)數(shù)值表達式 n)將顯示或打印的位置移動到第n列每行最左端列號為:1使用時將要輸出的內(nèi)容在Tab(n);之后;一個Print方法使用多個Tab函數(shù)時,每個Tab函數(shù)對應一個輸出項使用Tab(n)不能逆向定位27Spc(整數(shù)數(shù)值表達式 n)Spc(n)表示在顯示或打印下一個表達式之前插入 n 個空格;Spc函數(shù)與輸出項之間用“分號”隔開;插入空格的寬度等于設定字體字符的寬度;Tab和Spc的比較Tab函數(shù)從對象的左端開始

13、計數(shù);Spc函數(shù)只表示兩個輸出項之間的間隔。28使用位置屬性和字體屬性精確地把文本信息輸出到窗口、圖片框或打印機,可以使用位置屬性:橫坐標:CurrentX縱坐標:CurrentY控制所顯示或打印文本的大小和外觀可以使用字體屬性:FontName:字體名,如“隸書”FontBold:粗體屬性FontIralic:斜體屬性FontSize:字體大小29例子:FontName = 隸書FontSize = 48FontItalic = TrueFontBold = TrueCurrentX = 500CurrentY = 800Print 五光十色30清除輸出方法Cls方法清除在運行時生成的顯示信

14、息;清除后以背景色填充;語法格式為: 對象名. Cls315 MDI窗體 MDI窗體: (Multi Document Interface多文檔界面) 即允許包含多個子窗體的容器窗體。 在運行時,子窗體顯示在MDI父窗體工作空間之內(nèi)(其區(qū)域在父窗體邊框以內(nèi)及標題與菜單欄之下).當子窗體最小化時,它的圖標顯示在 MDI窗體的工作空間之內(nèi),而不是在任務欄中. 32創(chuàng)建MDI應用程序1. 新建一個“標準EXE”類型的工程2. 在工程中添加一個MDI窗體3. 為MDI窗體建立菜單4. 向MDI窗體中添加子窗體 (子窗體的 MDIChild屬性必須設置為True)5. 編寫代碼、調(diào)試工程并保存33調(diào)整子

15、窗體布局的方法 MDI窗體名.Arrange 參數(shù) 參數(shù)=0: 非最小化的所有子窗體層疊排列 vbCascade參數(shù)=1: 非最小化的所有子窗體水平平鋪 vbTileHorizontal參數(shù)=2: 非最小化的所有子窗體垂直平鋪 vbTileVertical參數(shù)=3: 重排最小化MDI子窗體的圖標 vbArrangeIcons例: MDI窗體.34二、菜單設計1、菜單分類:下拉菜單(菜單條上的菜單項)主菜單子菜單菜單項分割條快捷菜單(彈出式菜單)單擊鼠標右鍵激活352 菜單設計工具菜單編輯器1. 打開菜單編輯器的方法“工具”菜單“菜單編輯器”“標準工具欄”“菜單編輯器”按鈕2. 說明:菜單中的每一個主菜單、子菜單以及分隔條都是一個控件;所有的菜單控件都能夠響應Click事件.363. 菜單編輯器中必須設置的屬性Caption(標題):菜單項的標題,即在菜單欄上顯示的文本。使用&字符可以設置熱鍵(Alt+字符).標題處輸入減號(-),在菜單中顯示分隔線Name(名稱):菜單項的名稱,在程序中,可以通過名稱引用該菜單項(即控件名)。374. 菜單編輯器的其它可選屬性Index(索引):多個菜單項組成控件數(shù)組(名稱相同)時, 用索引號區(qū)分.ShortCut(快捷鍵):為菜單項設

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論