多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > FoxPro > VFP基礎教程 4.2 對象的引用

VFP基礎教程 4.2 對象的引用

來源:程序員人生   發布時間:2014-05-16 00:01:15 閱讀次數:5694次

    對象通過對象名來引用對象。對象名由對象的name屬性指定,在創建對象時,系統首先賦給對象一個默認的對象名。例如:我們在表單上創建一個文本框控件,則系統給一個默認的名稱Text1,,如果有第二個文本框,則默認名稱為Text2,以此類推。我們可在"屬性"窗口中,選中name屬性,在上方文本框中修改對象的名稱,如圖2,

    但為了編程時引用和閱讀方便,一般不修改,如果修改應修改成有意義和一看就明白是什么意思的名稱,且盡量用英文。

    由于容器可以包含容器類和控件類對象,這就產生了一種層次結構。在引用對象名時要在引用的對象名前一層一層地冠以它所在在容器的對象名,就好像定位文件時指定路徑一樣。

    引用對象的格式:引用地址。對象名稱

    引用地址又分成絕對引用和相對引用地址,所以對象引用也就分成絕對引用和相對引用。

    一。絕對引用: 絕對引用就好像在Dos中定位文件時指定的絕對路徑一樣,須從包含該對象的最外面的容器對象名開始,一層一層向內引用。如果引用地址是從最外層容器開始直到目標對象,那就是絕對引用地址。用絕對地址引用對象稱絕對引用。例如,在一個名為student的表單中,有一個名為cmdquit的命令按鈕,若要在程序代碼中將其enabled屬性設為。f.,可用如下語句:
    student.cmdquit.enabled=.f.

    這里采用的就是絕對引用形式,由最外層對象student引用它所包含的對象cmdquit,并將其enbled屬性值設為。f.

    其中對象名student和cmdquit之間有一個實心的圓點,它是引用運算符。

Visual FoxPro基礎教程完整版

    二。相對引用:相對引用就好像在dos中使用的相對路徑一樣,僅需從當前位置開始。如果引用地址從指定參照對象算起到目標對象為止,那就是相對引用地址。用相對引用地址引用對象,稱為相對引用。系統提供的相對引用的關鍵字及其意義如下表:

名字
表示
this
當前操作對象
thisform
當前操作表單
thisformset
當前操作的表單集
parent
當前對象的直接容器(也可叫父對象)
activeform
當前活動表單
activepage
當前活動頁
activecontrol
當前具有焦點的控件

    下面是幾種常用的相對引用的使用方法:

    (1).引用對象本身的屬性方法和事件,使用"this"
    (2).引用與本身對象處于同一容器中的對象,使用"this.parent.引用對象名"
    (3).引用當前表單中的對象,使用"thisform.對象名"

    三。例:制作一個表單,運行時通過命令按鈕能將文本框1的內容顯示在文本框2中,分別用絕對引用和相對引用方式編寫代碼。

    (1).打開我們之前創建的項目文件myvfp.pjx,出現項目管理器窗口,在"全部"選項卡中展開"文檔"選項,選中"表單",單擊右側的"新建"按鈕,彈出"新建表單"對話框,如圖11 ,

    單擊該對話框中的"新建表單"按鈕,出現"表單設計器"窗口,如圖12

    (2).在"表單控件"工具欄中,分別選擇"標簽"、"文本框"及"命令按鈕"控件,在表單上單擊,添加2個標簽label1和label2,2個文本框text1和text2,1個命令按鈕command1,如圖3.

    (3).在"表單設計器"中選中command1,然后在"屬性"窗口中將command1的caption屬性改為"顯示",如圖4.

    再單擊表單設計器空白處,選中表單form1,在"屬性"窗口中將其autocenter屬性設為。t.(把表單的autocenter屬性設為。t.,運行時,表單會自動居中在主窗口的中央),如圖5

    (4).在"表單設計器"窗口中,雙擊"顯示"按鈕,出現代碼窗口,在其中的click事件(即鼠標單擊時發生的事件)中輸入下面的代碼:(如圖6)

    thisform.text2.value=thisform.text1.value,然后按組合鍵ctrl+w保存代碼。

    (5).單擊"表單"主菜單中的"執行表單"菜單項,如圖7,為表單選一個保存位置,即可運行表單。

    (6).運行時,我們在第1個文本框中輸入任意字符,再單擊"顯示"按鈕,文本框1的內容即會顯示在文本框2中。為什么會這樣呢?實際上,顯示文本這個事件是由命令按鈕command1的click事件觸發的,我們運行時單擊了command1(即"顯示"按鈕),即觸發了該按鈕的click事件,調用 click事件中的代碼。我們來分析一下其中的代碼:

    thisform.text2.value=thisform.text1.value,這里使用的是絕對引用的形式,從最外層容器--當前表單出發,取出text1的value屬性值(即我們通過鍵盤輸入到text1里的值),然后將該值賦給text2的value屬性,所以在第二個文本框中就會顯示出第一個文本框的值。

    (7).也可在第(4)步中,將"顯示"按鈕的click代碼改為相對引用的形式,效果是相同的,代碼如下:

    this.parent.text2.value=this.parent.text1.value

    再來分析一下這句代碼,單擊鼠標時觸發click事件,當前對象當然是"顯示"按鈕了,代碼中的"this"即代表"顯示"按鈕,"this.parent"為"顯示"按鈕的父對象(即表單),"this.parent.text1"定位到表單中的text1,然后取出它的 value值賦給text2的value.

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲成人偷拍自拍 | 日本夜免费视频视频大片 | 久久456| 国产91香蕉 | 最近更新在线中文字幕一页 | 日韩图区 | 国产亚洲精品久久久久久 | 在线免费午夜视频 | 欧美人xxxx | 亚洲国产精品一区二区久 | 毛片影视| 国产精品不卡高清在线观看 | 99爱视频在线观看 | 成人 在线欧美亚洲 | 欧美成人a视频 | 亚洲精品影院久久久久久 | 天天综合色一区二区三区 | 国产麻豆精品在线观看 | 免费黄色福利 | 亚洲精品国产第一区第二区国 | 广西毛片| 好吊妞在线成人免费 | 在线 丝袜 欧美 日韩 制服 | 亚洲欧美日韩中文综合v日本 | 亚洲国产日韩综合久久精品 | 欧美午夜色视频国产精品 | 久久久久久岛国免费网站 | 亚洲精品国产精品国自产观看 | 久99久爱精品免费观看视频 | 手机看福利片 | 97夜夜操 | 亚欧乱色一区二区三区 | 性的小视频在线观看免费 | 亚洲爽爽 | 国产福利一区二区三区在线视频 | 成人国产日本亚洲精品 | 久久久久99这里有精品10 | 亚洲欧洲春色校园另类小说 | 亚洲免费视频网址 | 亚洲黄区 | 久久性久久性久久久爽 |