焦點(diǎn)是對(duì)象接收用戶鼠標(biāo)或鍵盤(pán)操作的能力。當(dāng)對(duì)象具有焦點(diǎn)時(shí),才可接收用戶的操作。例如,在有幾個(gè)文本框的窗體中,只有具有焦點(diǎn)的文本框才能接受用戶的輸入。
下列方法可以將焦點(diǎn)賦給對(duì)象:
運(yùn)行時(shí)選擇對(duì)象。
運(yùn)行時(shí)用快捷鍵選擇對(duì)象。
在代碼中使用SetFocus方法。
焦點(diǎn)只會(huì)出現(xiàn)在活動(dòng)窗口中,并且,在活動(dòng)窗口中每一時(shí)刻只能有一個(gè)對(duì)象具有焦點(diǎn)。有些對(duì)象,它是否具有焦點(diǎn)是可以看出來(lái)的。例如,當(dāng)按鈕具有焦點(diǎn)時(shí),按鈕標(biāo)題周?chē)倪吙驅(qū)⑼怀鲲@示,如圖2.10所示。當(dāng)文本框具有焦點(diǎn)時(shí),文本框中將顯示閃動(dòng)的插入點(diǎn)。
并非所有的對(duì)象都能接受焦點(diǎn)。例如,標(biāo)簽、框架、定時(shí)器等控件就不能接受焦點(diǎn)。對(duì)于可以接受焦點(diǎn)的對(duì)象,只有當(dāng)對(duì)象的Enabled和Visible屬性為T(mén)rue時(shí),它才能接收焦點(diǎn)。Enabled屬性允許對(duì)象響應(yīng)由用戶產(chǎn)生的事件,如鍵盤(pán)和鼠標(biāo)事件。Visible屬性決定了對(duì)象在屏幕上是否可見(jiàn)。對(duì)于窗體來(lái)講,只有窗體中不包含任何可接收焦點(diǎn)的控件,它才能接收焦點(diǎn)。
當(dāng)對(duì)象得到或失去焦點(diǎn)時(shí),會(huì)產(chǎn)生GotFocus或LostFocus事件。窗體和多數(shù)控件能響應(yīng)這些事件。GotFocus事件在對(duì)象得到焦點(diǎn)時(shí)發(fā)生;LostFocus事件在對(duì)象失去焦點(diǎn)時(shí)發(fā)生。
使用鼠標(biāo)來(lái)使對(duì)象具有焦點(diǎn)有時(shí)很不方便。例如,若窗體中有多個(gè)文本框,在輸入數(shù)據(jù)時(shí),如果每次總是使用鼠標(biāo)來(lái)切換文本框的焦點(diǎn),是一件很煩人的事。人們通常習(xí)慣使用Tab鍵來(lái)使對(duì)象按指定的順序獲得焦點(diǎn),這就是所謂的Tab鍵順序。
在使用VB創(chuàng)建程序時(shí),可以使用Tablndex和TabStop兩個(gè)屬性來(lái)指定對(duì)象的Tab鍵順序。通常情況下,Tab鍵順序與窗體所安放對(duì)象的順序相一致。
1. TabIndex屬性。
該屬性用來(lái)設(shè)置對(duì)象的Tab鍵順序。在默認(rèn)情況下,第一個(gè)被安放的控件,其TabIndex取值為0;第二個(gè)被安放的控件,其TabIndex取值為1,依次類推。在程序運(yùn)行時(shí),焦點(diǎn)默認(rèn)位于TabIndex取值最小的控件上。當(dāng)按Tab時(shí),焦點(diǎn)按對(duì)象TabIndex屬性的值順序切換。
如果需要改變某個(gè)控件的TabIndex取值或在窗體上插入、刪除控件時(shí),VB會(huì)自動(dòng)地將其他控件的Tab鍵順序重新編號(hào),以反映變化了的情況。
2.TabStop屬性。
該屬性的作用是決定用戶是否可以使用Tab鍵來(lái)使對(duì)象具有焦點(diǎn)。當(dāng)一個(gè)對(duì)象的TabStop屬性取值為T(mén)tue(默認(rèn))時(shí),使用Tab鍵可以使該對(duì)象具有焦點(diǎn):若它取值為False,則Tab操作時(shí)將跳過(guò)該對(duì)象,即不能使用Tab鍵使該對(duì)象具有焦點(diǎn)。
實(shí)例2.1 Tab鍵順序
在窗體中放置4個(gè)文本框控件和兩個(gè)按鈕控件,如圖2.11所示?丶纤@示的標(biāo)號(hào)是控件的放置順序。例如,顯示有1的文本框是第一個(gè)放置到窗體中的,顯示有"6"的按鈕是最后一個(gè)放置到窗體中的。
運(yùn)行該程序,可見(jiàn),默認(rèn)時(shí)文本框1具有焦點(diǎn),按Tab鍵,則焦點(diǎn)按控件的放置順序切換,即l→2→3→4→5→6.
停止程序的運(yùn)行,返回到設(shè)計(jì)界面中,設(shè)置各控件的TabIndex屬性如表2.4所示。
再次運(yùn)行程序,可見(jiàn),默認(rèn)時(shí)按鈕5具有焦點(diǎn),按Tab鍵,則焦點(diǎn)的切換順序?yàn)?→6→1→3→2→4.如圖2.12所示。
如果將文本框2的TabStop屬性設(shè)置為False,則按Tab鍵時(shí),焦點(diǎn)不會(huì)在文本框2上停留,焦點(diǎn)的切換順序?yàn)?→6→1→3→4。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |