版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、界面設(shè)計,概述 與多重窗體有關(guān)的語句和方法 多重窗體程序設(shè)計方法 MDI界面設(shè)計 標準模塊與SUB MAIN過程,概述,1、標準模塊,3、多重窗體設(shè)計的關(guān)鍵: (1)要解決不同窗體之間的銜接和窗體的顯示、關(guān)閉等問題。 (2)在窗體的代碼中,可以使用Me關(guān)鍵字代表當前窗體的名稱,2、類模塊: 如果需要共享的是一些對象,就需要將對象編碼獨立出來,這就是類模塊,在幾個窗體中都有要執(zhí)行的公共代碼,為了避免在兩個窗體中重復(fù)代碼,就需要創(chuàng)建一些獨立模塊,用來包含這些公共代碼,這就是標準模塊,與窗體有關(guān)的語句和方法,啟動窗體:啟動程序后自動打開并顯示在屏幕上的窗體,窗體的常用方法,1、Load語句,功能:加
2、載指定窗體,即在內(nèi)存中創(chuàng)建該窗體,但不顯示在屏幕上。 語法:Load 窗體名稱 說明:加載窗體后,該窗體中的所有控件已經(jīng)建立起來了,窗體的Load 事件已被觸發(fā),2、Unload語句 功能:卸載指定的窗體,即釋放窗體所占內(nèi)存。 語法:Unload 窗體名稱,注意:1、啟動窗體的設(shè)置方法 2、每個工程最多只能有一個啟動窗體,3、Show方法,語法: 窗體名稱 .Show 模式 功能:將指定的窗體顯示出來,說明: (1)如果省略了”窗體名稱“,將顯示當前窗體。 (2)Show方法兼具有Load語句的功能,如果要顯示的窗體沒有加載到內(nèi)存中,Show方法可以自動加載。否則,直接將已加載的窗體顯示出來。
3、 (3)Show方法的“模式”參數(shù)是可選的,取值為0或1。如果“模式”參數(shù)的值為1-vbModal,所顯示的窗體是“模態(tài)型”的,此時,除了該窗體外其他窗體已被屏蔽,不接受鍵盤或鼠標操作,除非關(guān)閉該窗口,4、Hide方法 功能:隱藏指定的窗體 語法: 窗體名稱 .Hide 說明:窗體被隱藏后并沒有從內(nèi)存中消失,Hide方法不會觸發(fā)Unload事件,例】窗體的顯示模式,Form1的Load事件 Private Sub Form_Load() Load Form2 同時裝載Form2窗體 End Sub Form1的Unload的事件 Private Sub Form_Unload(Cancel A
4、s Integer) Unload Form2 同時卸載Form2窗體 End Sub 退出按鈕的click事件 Private Sub btnExit_Click() End關(guān)閉所有窗體,退出程序 End Sub,模態(tài)方式顯示Form2 Private Sub btnModal_Click() Form2.Show 1 “模態(tài)”方式顯示 End Sub 非模態(tài)方式顯示Form2 Private Sub btnModaless_Click() Form2.Show “非模態(tài)”方式顯示 End Sub,窗體2的退出按鈕 Private Sub Command1_Click() Me.Hide 隱
5、藏當前窗體 End Sub,標準模塊與Sub Main過程,如果需要在加載任何窗體以前進行程序的初始化,可以把初始化代碼放到標準模塊的Sub Main過程中。 注意: 1、Sub Main過程必須在標準模塊中建立。 2、每個工程可以包含若干標準模塊,但最多只能 有一個Sub Main過程,MDI窗體ultiple Document Interface,多文檔界面的應(yīng)用程序至少需要兩個窗體:一個MDI窗體(父窗體)和一個或若干個子窗體。在不同窗體中共用的過程和變量一般應(yīng)存放在標準模塊中 1. 創(chuàng)建MDI窗體 2. 創(chuàng)建和設(shè)計MDI子窗體 多文檔界面允許創(chuàng)建在單個容器窗體中包含多個窗體的應(yīng)用程序
6、父窗體包含多個子窗件,一個工程只能添加一個MDI,多文檔界面的特性 設(shè)計階段特性 子窗體是獨立的,它不被限制在父窗體的區(qū)域內(nèi)。即,設(shè)計階段,子窗體、父窗體 (MDI窗體)和普通窗體沒區(qū)別 運行期間特性 子窗體的移動、改變大小等都被限制在其父窗體中 子窗體最小化時,圖標在其父窗體中顯示;父窗體最小化時,其所有子窗體也被最小化。 子窗體最大化時,其標題與父窗體的標題合并,顯示在父窗體的標題條中。 父窗體及其子窗體都可以有各自的菜單,子窗體加載時覆蓋其父窗體的菜單,例,菜單設(shè)計,與菜單有關(guān)的概念 菜單編輯器 下拉菜單設(shè)計 彈出式菜單設(shè)計,與菜單有關(guān)的概念,早期的字符界面的應(yīng)用程序,設(shè)計菜單是一項非常
7、費力的工作?,F(xiàn)在的應(yīng)用程序具有圖形用戶界面(GUI),采用可視化的編程工具開發(fā),菜單設(shè)計變得輕而易舉了,菜單的形式有兩種:下拉式菜單和彈出式菜單,下拉式菜單,彈出式菜單,有關(guān)概念: 1)菜單組成:標題欄、菜單標題、菜單項(可以是命令、分隔條、子菜單標題;包括標題、訪問鍵、快捷鍵、復(fù)選標志) 2)菜單也是一個控件、對象,具有屬性、事件和方法。常用屬性:Caption、Enabled、Visible、Checked;事件只有一個:Click,菜單編輯器,菜單是控件,但不能把菜單控件作為工具添加到控件箱中,菜單編輯器的啟動,1)單擊“工具”菜單下的“菜單編輯器”命令。 (2)單擊工具欄的“菜單編輯器
8、”按鈕。 (3)在窗體的空白區(qū)域,單擊鼠標右鍵,在快捷菜單中選擇“菜單編輯器”。 (4)使用快捷鍵Ctrl+E,菜單編輯器的使用 1、菜單屬性設(shè)置區(qū) 2、菜單編輯區(qū) 3、菜單項顯示區(qū),下拉式菜單設(shè)計,下拉式菜單的設(shè)計和編程,例】一個簡單的文本編輯器程序的菜單設(shè)計,分析: 對于菜單設(shè)計的問題,需要先列出來所有的菜單標題,每個標題下的菜單項,以及各菜單項的各個屬性設(shè)置。 1)創(chuàng)建一個窗體Form1,然后打開菜單編輯器 2)根據(jù)事先列好的菜單設(shè)計列表,依次創(chuàng)建各菜單項 3)退出菜單編輯器,單擊某個菜單項進入該菜單命令,進行click事件編程,程序代碼片斷:通過菜單項的屬性值進行編碼 Private
9、Sub mnuBig_Click() mnuSmall.Checked = False 選擇大號字體 mnuBig.Checked = True 取消選擇 txtContent.FontSize = 24 設(shè)置為大號字體 End Sub Private Sub mnuBold_Click() mnuBold.Checked = Not mnuBold.Checked 切換狀態(tài) txtContent.FontBold = mnuBold.Checked 根據(jù)菜單項的值決定是否加黑顯示 End Sub,Private Sub mnuItalic_Click() mnuItalic.Checked
10、= Not mnuItalic.Checked txtContent.FontItalic = mnuItalic.Checked 是否斜體 End Sub Private Sub mnuKaiTi_Click() mnuSongTi.Checked = False 取消對宋體選擇 mnuKaiTi.Checked = True 選擇楷體 txtContent.FontName = 楷體_GB2312 設(shè)置文本框的字體為楷體 End Sub Private Sub mnuSongTi_Click() mnuSongTi.Checked = True 取消對楷體選擇 mnuKaiTi.Check
11、ed = False 選擇宋體 txtContent.FontName = “宋體 設(shè)置文本框的字體為宋體 End Sub,菜單項屬性的動態(tài)設(shè)置,可以動態(tài)地設(shè)置的菜單項屬性包括Checked、Enabled、Visible等,1、菜單的復(fù)選標志 2、菜單的有效性,Clipboard的四個常用方法: 1、settext:將文本內(nèi)容送到剪貼版 2、setdata:將非文本內(nèi)容送到剪貼版(如圖片) 3、gettext:從剪貼板得到文本信息 4、getdata:從剪貼板得到非文本信息,Private Sub SetEditMenu() 設(shè)置編輯菜單的有效性 Dim b As Boolean b = I
12、If(txtContent.SelLength 0, True, False) 是否有文本被選中 mnuCut.Enabled = b 如果以選中若干字符,則剪切、復(fù)制命令有效 mnuCopy.Enabled = b 否則,不能進行類似操作 根據(jù)剪貼板中是否文本,決定能否實施粘貼操作 ClipBoard是系統(tǒng)對象,代表剪貼板,其GetText方法用于返回剪貼板上的字符 mnuPaste.Enabled = IIf(Len(Clipboard.GetText) 0, True, False) End Sub Private Sub mnuAll_Click() txtContent.SelSta
13、rt = 0 設(shè)置從第1個字符開始的文本被選中 txtContent.SelLength = Len(txtContent.Text) 選中所有字符 SetEditMenu 設(shè)置“復(fù)制”、“剪切”菜單項,使他們有效 End Sub 以下過程在單擊鼠標后觸發(fā) Private Sub txtContent_MouseUp(Button As Integer, Shift As Integer, _ X As Single, Y As Single) SetEditMenu 判斷是否選中了文本 End Sub,Private Sub mnuCopy_Click() 復(fù)制 Clipboard.SetT
14、ext txtContent.SelText 將選中的文本復(fù)制到剪貼板上 End Sub Private Sub mnuCut_Click() 剪切 Clipboard.SetText txtContent.SelText 將選中的文本復(fù)制到剪貼板上 txtContent.SelText = 并刪除選中的文本 End Sub Private Sub mnuPaste_Click() 粘貼 Dim s1 As String, s2 As String Dim loc As Integer loc = txtContent.SelStart 讀取光標位置 s1 = Left(txtContent.
15、Text, loc) 將剪貼板內(nèi)容插入到光標處 s2 = Mid(txtContent.Text, loc + 1) txtContent.Text = s1 & Clipboard.GetText& s2 txtContent.SelStart = loc 恢復(fù)光標位置 End Sub,彈出式菜單設(shè)計,1)彈出式菜單是獨立于菜單欄顯示在窗體上的浮動菜單,2)創(chuàng)建方法:用菜單編輯器創(chuàng)建菜單 ,但Visible屬性設(shè)置為False,3)啟動方法:用窗體的 PopupMenu 方法顯示,PopupMenu方法的語法,窗體名 .PopupMenu 菜單名 ,F(xiàn)lags ,x ,y ,defaultm
16、enu,說明: (1)x,y為所彈出的菜單在窗體上的位置坐標,具體代表菜單上的哪一個點,還要看Flags參數(shù)的取值。如果省略x,y則取鼠標指針的位置。 (2)Flags參數(shù)用來指定彈出式菜單的位置和行為,表一給出了指定菜單位置的Flags參數(shù)值,表二給出了表示行為的Flags參數(shù)值。 如果需要同時指定彈出菜單的位置和行為,可以分別選取一個參數(shù)值,再用+運算符或者OR運算符連接起來。 (3) DefaultMenu參數(shù)用來指定彈出式菜單中想以粗體字體出現(xiàn)的菜單控件的名稱。在彈出式菜單中只能有一個菜單項被加粗,表一 菜單位置的Flags參數(shù)的值及含義,表二 菜單行為的Flags參數(shù)的值及含義,例】
17、文本編輯器的快捷菜單,工具欄的設(shè)計,創(chuàng)建工具欄一般須遵循以下四個步驟: (1) 將ImageList控件和Toolbar控件添加到工具箱中, 然后添加到窗體上。 (2) 為窗體上的ImageList控件添加所需的圖像。 (3) 建立ToolBar控件與ImageList控件之間的關(guān)聯(lián)。 (4) 對ToolBar上的按鈕編寫Click事件響應(yīng)代碼,1. 添加工具欄控件 (1) “工程部件”,選Microsoft Windows Common Controls 6.0,2) 用 在窗體任意位置添加一個ImageList控件,名稱默認為ImageList1 (3) 用 在窗體上添加一個Toolbar
18、控件(該控件自動位于菜 單欄的下面) ,其名稱默認為Toolbar1,2. 為窗體上的ImageList控件添加所需的圖像 右擊窗體上的ImageList控件,選擇“屬性”命令 “通用”選項卡:設(shè)置按鈕大小 “顏色”選項卡:設(shè)定按鈕的顏色 “圖像”選項卡:選擇要加入的圖像,圖像”選項卡:選擇要加入的圖像,圖像”選項卡:定義“關(guān)鍵字”(在ToolBar控件中引用的圖像標識名,3. 建立ToolBar控件與ImageList控件之間的關(guān)聯(lián) 右擊窗體上的Toolbar控件,選擇“屬性”命令 “通用”選項卡:“圖像列表”選擇ImageList1,按鈕”選項卡:單擊“插入按鈕,工具欄第一個按鈕: “索引
19、”:自動變?yōu)? “關(guān)鍵字”:輸入ImageList1控件中定義的相應(yīng)關(guān)鍵字 “圖像”:輸入“1” 以此類推插入其他按鈕,4. 響應(yīng)ToolBar控件事件 單擊工具欄上的某個按鈕,將引發(fā)ButtonClick事件 Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) End Sub 根據(jù)按鈕的關(guān)鍵字(Button.Key)或者圖像值(Button.Image)可判斷單擊的是哪個按鈕,然后通過Select Case語句進行相應(yīng)的處理 例,菜單中有一個“打開”菜單命令(名稱為mOpen),工具欄上有一個“打開”按鈕(關(guān)鍵字為open,圖像值為1),單擊它們都執(zhí)行同樣的操作(執(zhí)行OpenDoc過程),相應(yīng)的代碼如下,Private Sub mOpen_Click() 單擊“打開”菜單命令 OpenDoc End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case “open” 或Case
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版二手飛機維修保養(yǎng)合同示范文本3篇
- 2024首付款支付與房地產(chǎn)開發(fā)項目合作協(xié)議3篇
- 2025年度留置車輛交易傭金借款合同模板4篇
- 2024項目專業(yè)技術(shù)咨詢服務(wù)合同書
- 二零二五年度羽絨服產(chǎn)品線上營銷推廣合同規(guī)范3篇
- 2025年電商物流運輸長期服務(wù)合同2篇
- 二零二四年塔吊信號工施工現(xiàn)場安全巡查聘用合同3篇
- 二零二四年土工布材料研發(fā)與生產(chǎn)采購合同3篇
- 2024版銷售合同模板英文
- 二零二五年度籃球館贊助商合同3篇
- 2024年黑河嫩江市招聘社區(qū)工作者考試真題
- 第22單元(二次函數(shù))-單元測試卷(2)-2024-2025學(xué)年數(shù)學(xué)人教版九年級上冊(含答案解析)
- 藍色3D風(fēng)工作總結(jié)匯報模板
- 安全常識課件
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末聯(lián)考化學(xué)試題(含答案)
- 2024年江蘇省導(dǎo)游服務(wù)技能大賽理論考試題庫(含答案)
- 2024年中考英語閱讀理解表格型解題技巧講解(含練習(xí)題及答案)
- 新版中國食物成分表
- 浙江省溫州市溫州中學(xué)2025屆數(shù)學(xué)高二上期末綜合測試試題含解析
- 2024年山東省青島市中考生物試題(含答案)
- 保安公司市場拓展方案-保安拓展工作方案
評論
0/150
提交評論