日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

編程入門網(wǎng)-VFP經(jīng)典問題集(全)

 悟靜 2009-04-23

問題1: 怎樣從表單返加一個(gè)值?
答案1: 可以在模式表單的unload事件中用return來返回一個(gè)值。

問題2: 怎樣在表單設(shè)計(jì)器中把屬性或方法添加到表單中?
答案2: 用表單設(shè)計(jì)器窗口或?qū)傩?事件/激活的方法窗口,從菜單中選擇表單。最初的兩個(gè)選擇是新屬性和新方法。選擇你想要加入的一個(gè)并填寫屬性或方法的名稱,新建的屬性將出現(xiàn)在屬性窗口的最底部。

問題3: 我把的工具條或設(shè)計(jì)窗口移出了屏幕,怎樣把它移回來?
答案3: 工具條或窗口的位置保存在vfp主目錄下的foxuser.dbf表中。如果刪除或修改該文件,你的工具條和窗口將恢復(fù)他們的默認(rèn)位置或你指定的位置?;驈南到y(tǒng)菜單的窗口菜單中選擇重新安排全部。

問題4: 當(dāng)從valid事件返回.f.值時(shí),如何避免'無效的的用戶輸入了'信息?
答案4: 用 0來替換.f.當(dāng)你從valid事件返回?cái)?shù)值時(shí),也就是在設(shè)置可取得焦點(diǎn)的控件的tab order。

問題5: 模式表單和非模式表單的區(qū)別是什么?
答案5: 模式表單一般地被用來處理錯(cuò)誤報(bào)告,或者請(qǐng)求用戶確認(rèn)操作等。在模式表單中,菜單不能使用。如果需要,模式表單也提供應(yīng)用'等待狀態(tài)'。非模式表單提供更多的靈活性,它允許用戶通過菜單操作,在表單中移動(dòng)。

問題6: 為什么編譯后的程序運(yùn)行時(shí),屏幕一閃就退出了,為什么?
答案6: 你需要在你的程序中建立'等待狀態(tài)'。可以用read events命令來建立等待狀態(tài)。要清除等待狀態(tài),可使用clear events命令。如果你只有一個(gè)屏幕,把表單的windowstate屬性設(shè)置為modal。這也提供等待狀態(tài),但是不允許你使用菜單。當(dāng)模式表單被釋放時(shí),等待狀態(tài)結(jié)束并返回至操作系統(tǒng)。

問題7: 為什么當(dāng)我建立表單時(shí),我用set命令設(shè)置的環(huán)境變量返回到了它們的默認(rèn)值。
答案7: 這是由于你的表單的數(shù)據(jù)會(huì)話期設(shè)置為私有數(shù)據(jù)工作期。很多"set"命令僅對(duì)當(dāng)前數(shù)據(jù)工作期有效。當(dāng)你擁有私有數(shù)據(jù)工作期時(shí),你必須再次確立那些設(shè)置值。要達(dá)到這一目的,你可以建立一個(gè)用于環(huán)境設(shè)置的類。在表單的init事件中設(shè)置你的環(huán)境值而在表單的destroy事件中恢復(fù)其原始值。

問題8: 我在pageframe中的一個(gè)頁中改變了記錄指針,但我轉(zhuǎn)到其他的頁時(shí),其他的頁中的數(shù)據(jù)仍然是原記錄的值。為什么?
答案8: 你需要在你的每一頁activate()中放置代碼來確信顯示當(dāng)前記錄值。如果你在某處執(zhí)行了thisform.refresh()命令,vfp僅刷新pageframe的當(dāng)前頁面上的內(nèi)容。試著在每個(gè)頁(page)的activate()中調(diào)用this.refresh()。

問題9: 當(dāng)我運(yùn)行表單時(shí),它什么也不顯示。表單本身是顯示了,但其中的任何對(duì)象都不可見
。
答案9: 試著把lockscreen屬性設(shè)置為.f.。

問題10: 表單上有一對(duì)象,但我看不見它,我怎樣選擇并修改它?
答案10: 打開屬性窗口,該窗口中有一下拉列表,你可從中選擇你想編輯的對(duì)象。一但你想編輯的對(duì)象在下拉列表中高亮顯示,你就可以修改該對(duì)象。要在表單設(shè)計(jì)器中用鼠標(biāo)調(diào)整它(或?qū)嶋H看到該對(duì)象),從菜單中選擇"格式",然后選擇"帶到前面"。

問題11: 我怎樣把一個(gè)類從一個(gè)類庫復(fù)制到另一類庫中?
答案11: 在專業(yè)版中,你可以兩次打開類瀏覽器,從第二個(gè)類瀏覽器中類型下拉列表框中拖動(dòng)類的圖標(biāo)到第二個(gè)類瀏覽器中。確信拖動(dòng)它到另一個(gè)類瀏覽器的表單區(qū)中。你可以看到一個(gè)復(fù)制光標(biāo)(帶箭頭的加號(hào))。如果你是使用項(xiàng)目管理器且在項(xiàng)目中有兩個(gè)類庫,你可以從一個(gè)類庫中拖動(dòng)一個(gè)類到
另一個(gè)類庫中。但若目標(biāo)類庫中已有相同名字的類存在,則操作不會(huì)成功。
也可用vfp 命令來完成這一任務(wù):
add class mytextbox of mylib1.vcx to mylib2.vcx.
如果mylib2里有另一個(gè)同名的類,操作也不會(huì)成功。但若在命令后加overwrite子句,原有的類將被代替。
問題12: 怎樣能不使用屬性窗口而進(jìn)入容器?
答案12: 在對(duì)象上單擊鼠標(biāo)右鍵。從彈出菜單中選擇"編輯"。如果你是在網(wǎng)格上操作,你必須選擇對(duì)象所在的列并使用屬性窗口來選你想編輯的特定的目的。如果你想選擇header類或列的其他的目的,你必須使用屬性窗口。

問題13: 如何把數(shù)組作為參數(shù)傳遞給表單?
答案13: 在foxpro中,數(shù)組必須按址傳遞。set udfparms決定參數(shù)的傳遞方式。在默認(rèn)情況下,當(dāng)你用do...with調(diào)用過程或表單時(shí),參數(shù)是按址傳遞。
在函數(shù)或方法中,參數(shù)是按值傳遞。
dimension array[10]
do form form1 with array
在這種情況下,你必須用一個(gè)"@"符號(hào)強(qiáng)迫參數(shù)的傳遞為按址傳遞。
dimension array[10]
myform = createobject("form1", @myarray)

問題14: 如何在應(yīng)用程序中避免出現(xiàn)vfp的窗口標(biāo)題?
答案14: 在config.fpw文件中,加"title = 你的標(biāo)題"行。另外, 也可以在主程序中加入:
_screen.caption="你的標(biāo)題"

問題15: 如何避免vfp的歡迎屏幕?
答案15: 在你的快捷方式或圖標(biāo)的程序行中,在vfp.exe后面加"-t"( 不要引號(hào))。

問題16: 在win95中,所有窗口左上角的圖標(biāo)全部是fox。我能代替它嗎?
答案16: 在你的開始程序,加入:
_screen.icon="vitus.ico"
在你的表單的load事件中,加入:
thisform.icon ="vitus.ico"
或者在表單設(shè)計(jì)器的屬性窗口中設(shè)置它的值。

問題17: 我怎樣除掉表單標(biāo)題條?
答案17: 把表單的caption屬性設(shè)置為任意串
把表單的maxbutton屬性設(shè)置為.f.
把表單的minbutton屬性設(shè)置為.f.
把表單的movable屬性設(shè)置為.f.
在表單的init中寫入
this.caption=''

問題18: 事件的觸發(fā)順序是怎樣的?
答案18: 在幫助文件中查看 "vfp事件序列"。另外,在vfp\samples\controls\events目錄中,有一個(gè)名為events.app的程序演示了不同對(duì)象的事件的觸發(fā)順序。

問題19: 我怎樣檢查變量是否存在?
答案19: 使用type()函數(shù)來檢查一個(gè)變量是否存在。
if type("var") = .t.
messagebox("it exists",0,"")
endif
或你可以檢查是否type("var")="u",若是,則變量不存在。

問題20: vfp的表的最大容量是多少?
答案20: 2 gb,且在將來版本中該限制可能被取消。

問題21: 為什么當(dāng)我運(yùn)行exe文件時(shí),系統(tǒng)菜單總是在我自己的菜單前出現(xiàn)。
答案21: 把sysmenu=off放入你的config.fpw文件
。

問題22: 我不能從一個(gè)對(duì)象的valid事件中把焦點(diǎn)設(shè)置到另一個(gè)對(duì)象上。
答案22: setfocus()方法不能從valid事件中運(yùn)行。試著用lostfocus事件作為替代。

問題23: 我怎樣讓表單設(shè)計(jì)器使用我自己的表單類為其缺省表單類?
答案23: 從工具菜單中選擇"選項(xiàng)"。
選擇"表單"頁。
在頁的底部附近有一個(gè)你的表單類的檢驗(yàn)框。
給檢驗(yàn)框打上鉤,從問答中選擇你的表單類。
也可以單擊"..." 按鈕改變你的選擇。
若要使你的改孌長(zhǎng)期生效,退出之前單擊"設(shè)置為默認(rèn)值"。

問題24: 為什么當(dāng)我要退出vfp時(shí),得到一條信息 '不能退出vfp'。
答案24: 檢驗(yàn)on shutdown。

問題25: 運(yùn)行一個(gè)表單時(shí),怎樣使它停下來?
答案25: 可以在表單的init()加入return .f.,該方法適用于所有的對(duì)象。

問題26: 什么時(shí)候,計(jì)時(shí)器觸發(fā)?
答案26: 如果一個(gè)菜單彈出或messagebox()窗口激活時(shí),計(jì)時(shí)器將不會(huì)觸發(fā),當(dāng)用戶調(diào)整控件尺寸,或者拖動(dòng)表單時(shí),以及用戶拖動(dòng)scrollbar時(shí),計(jì)時(shí)器也不會(huì)觸發(fā)。

問題27: 我怎樣能不使用鼠標(biāo)而離開網(wǎng)格?
答案27: 你可以按下ctrl+tab移動(dòng)到下一個(gè)控件或shift+ctrl+tab移動(dòng)到上一個(gè)控件。
問題28: 包含文件的范圍是什么?
答案28: 當(dāng)你用"表單/包含文件"包括一個(gè)文件到表單時(shí),表單的全部對(duì)象都可以訪問它的內(nèi)容。
如果你用#include將它包含進(jìn)一個(gè)方法時(shí)僅該方法可以訪問它的內(nèi)容。該規(guī)則也適用于類設(shè)計(jì)器。

問題29: 為什么我的memlimit設(shè)置值不起作用?
答案29: vfp在全部支撐的平臺(tái)上靈活地分配內(nèi)存。因此,memlimit設(shè)置值不再是必不可少的

問題30: 我放置了檢查框到我的網(wǎng)格,但是,它僅僅出現(xiàn)于當(dāng)前選的行。
答案30: 設(shè)置 sparse 屬性為.f.

問題31: 怎樣使用宏擴(kuò)展?
答案31: 你可在運(yùn)行時(shí)用&來解釋,實(shí)行指令。

問題32: 怎樣從表中選擇重復(fù)的記錄?
答案32:
select * ;
from table a ;
where exists ;
(select * ;
from table b ;
where b.key = a.key;
group by key ;
having count(*) > 1 ) ;
order by fieldlist

select * ;
from table ;
where key in ;
( select key ;
from table ;
group by key ;
having count(*) > 1) ;
order by fieldlist

問題33: datasource 屬性和 controlsource 屬性之間有什么不同?以及 rowsource 屬性和
recordsource 屬性?
答案33: datasource 屬性可以影響存儲(chǔ)在一個(gè)數(shù)據(jù)庫 (.dbc) 中的 odbc 視圖。它包含了對(duì)連接到 odbc 數(shù)據(jù)文件名稱的引用,并且必須指向一個(gè)通過 odbc 管理程序定義的有效的數(shù)據(jù)源。您可以使用 sqlsetprop( ) 函數(shù)操作 datasource 屬性,而用 sqlgetprop( ) 函數(shù)可以查看它的設(shè)置。controlsource 屬性用來確定一個(gè)對(duì)象所綁定的數(shù)據(jù)源;一個(gè)對(duì)象所綁定的表或者視圖可以為任意類型,包括本地 visual foxpro 表,具有 controlsource 屬性的對(duì)象有:checkbox、column、combobox、commandgroup、editbox、listbox、ole bound control、optionbutton、optiongroup、spinner 和 textbox 控件。某些控件(listbox 和 combobox)除controlsource 屬性之外,還有 rowsource 屬性允許您一次顯示多于一個(gè)字段和行。數(shù)據(jù)仍然是與單一的字段綁定的,這就是為什么這些控件需要 controlsource 屬性。表格控件是唯一具有 recordsource 屬性的控件,但是沒有 controlsource 屬性。對(duì)于表格控件,數(shù)據(jù)是與一個(gè)完整的記錄綁定的。

問題34: 為什么組合框只顯示一行數(shù)據(jù)?我首先為該組合框定義了一個(gè)數(shù)組,然后,在表單的 Init 事件中執(zhí)行了一個(gè) SELECT - SQL 命令來激活數(shù)組。
答案34: 在表單的 Init 事件中,您建立了一個(gè)沒有行或者只有一行的數(shù)組。當(dāng)表單建立后,組合框的 Init 事件發(fā)生在表單的 Init 事件之前,所以組合框只包含一列數(shù)據(jù)。要改正此錯(cuò)誤,請(qǐng)?jiān)?SELECT - SQL 語句下面緊接著添加下面代碼行,在表單的 Init 事件中建立數(shù)組
:
THISFORM.ComboBox1.RowSource = THISFORM.ComboBox1.RowSource

當(dāng)我的游標(biāo)用SELECT - SQL INTO CURSOR 更新后,網(wǎng)格內(nèi)容沒有刷新?由于SELECT - SQL 命令是重新建立網(wǎng)格RecordSource屬性里的同名游標(biāo),當(dāng)新的游標(biāo)建立時(shí),原有的游標(biāo)被丟棄了。因此當(dāng)SELECT - SQL執(zhí)行時(shí),網(wǎng)格RecordSource屬性被清除復(fù)位,并且新網(wǎng)格被建立且未從游標(biāo)中裝入
數(shù)據(jù)。要刷新網(wǎng)格,設(shè)置網(wǎng)格的RecordSource屬性新的數(shù)據(jù)源上THISFORM.Grid1.RecordSource=THISFORM.Grid1.RecordSource

問題35: 如何隱藏標(biāo)準(zhǔn)的或定制的工具條?
答案35: 用HIDE WINDOW命令來隱藏工具條。工具條也可用SHOW WINDOW來顯示。

問題36: 我怎樣用VFP做小的圖標(biāo)(ImagEdit)?
答案36: Windows 95能在資源管理器和啟始菜單中顯示小圖標(biāo)。你可以ImagEdit來為你的VFP應(yīng)用運(yùn)行在Windows 95下面制作小的圖標(biāo)(ImagEdit包括在VFP的專業(yè)版內(nèi)。)。在ImagEdit中制作新圖標(biāo)的時(shí)候,小圖標(biāo)通過指定小的圖標(biāo)16-的彩色16x16選項(xiàng)制作。如果這選項(xiàng)不可用,制作新圖標(biāo)的時(shí)候把下列行加到坐落于你的WINDOWS目錄的IMAGEDIT.INI文件中:
[ImagEdit.Icon]
Small Icon=16,16,16

問題37: 如何在導(dǎo)航中添加記錄到表的緩存中?
答案37: 要把記錄指示移動(dòng)到表緩存中添加的記錄上,用帶負(fù)值的GO命令。RECNO()函數(shù)在表緩存中的記錄上返回升序負(fù)數(shù)值。skip-1

問題38: 怎樣(以編程的方式)復(fù)制內(nèi)容到剪切板?
答案38: 在求助文件中看_ClipText。

問題39: 調(diào)試時(shí),怎樣保持計(jì)時(shí)器處于激活狀態(tài)?
答案39: 把以下代碼放入Timer()事件中:
_Screen.ActiveForm.MyTimer.Enabled=.T.
IF WVISIBLE("Trace") THIS.Enabled=.F.
WVISIBLE("Trace"THIS.Enabled=.F。
ENDIF

問題40: 怎樣播放聲音文件(.WAV)?
答案40: 除了使用第三方產(chǎn)品和API調(diào)用之外,播放.WAV的最簡(jiǎn)單的方法是:
SET BELL TO "c:\sound.wav",1
CHR(7)
SET BELL TO

問題41: 怎樣設(shè)置多個(gè)過程或類文件?
答案41: 使用ADDITIVE 子句:
SET PROCEDURE TO proc.prg ADDITIVE
SET LIBRARY TO class.vcx ADDITIVE

問題42: 為什么當(dāng)filter設(shè)置時(shí),應(yīng)該用locate代替seek?
答案42: 當(dāng)你的查找字段是建立了索引且當(dāng)前索引是該索引時(shí),SEEK 通常是查找單個(gè)記錄的最快的方法。不過,當(dāng)設(shè)置了filter時(shí),SEEK 非常慢。理由是SEEK將查找符合你的搜索標(biāo)準(zhǔn)的第一個(gè)記錄。FoxPro為了移動(dòng)記錄指針到相應(yīng)的記錄上,必須找到和你的標(biāo)準(zhǔn)相匹配且和filter條件相稱的記錄。和 SEEK不同, LOCATE 是可進(jìn)行Rushmore優(yōu)化的. 當(dāng)一個(gè)可優(yōu)化的filter 起作用時(shí),LOCATE FOR CustId=m.CustId 通常比SEEK m.CustId 更快。在GO TOP 和 GO BOTTOM 中也存在相似的問題。用無子句的LOCATE來執(zhí)行GO TOP,將會(huì)使記錄指針移動(dòng)到乎合filter 條件的第一個(gè)記錄。要執(zhí)行 GO BOTTOM, 設(shè)置當(dāng)前索引標(biāo)識(shí)的降序然后LOCATE, 在將索引設(shè)置為原來的升序。

問題43: 我怎樣讓屬性和方法設(shè)置到它們的缺省值?

答案43: 你可以在屬性窗口中右擊一個(gè)屬性,將會(huì)返回該屬性的缺省值。當(dāng)你想設(shè)置一個(gè)對(duì)象的屬性為其父類的屬性時(shí),該辦法特別有用。例如,如果你使用標(biāo)簽類定義了一個(gè)標(biāo)簽,且設(shè)置該標(biāo)簽類的FontBold = .T,但該對(duì)象的FontBold = .F.你可僅右擊鼠標(biāo),并選的"恢復(fù)至默認(rèn)值"來恢復(fù)該類的定義默認(rèn)定義。該動(dòng)作也適用于屬性窗口中的方法。你可以在方法列表上右擊鼠標(biāo)來除掉某方法中的全部方法代碼。這是重置當(dāng)前對(duì)象,讓它運(yùn)行類定義中的方法代碼的簡(jiǎn)便方法。如果你不小心讓你的方法編碼被缺省值復(fù)位,不要保存修改,立即退出表單設(shè)計(jì)器,當(dāng)系統(tǒng)提示是否保存修改時(shí),選"
否"取回它。

問題44: 如何能既執(zhí)行默認(rèn)的父類的事件/方法又運(yùn)行一些補(bǔ)充的代碼?
答案44: 你可以在子類的方法中輸入代碼來忽略父類方法代碼。FoxPro 將方法代碼中的所有字符串解釋為可執(zhí)行代碼包括空格和注釋,這樣將可以忽略父類方法代碼。如果你想把注解加到方法代碼中,同時(shí)又保持繼承的父類方法編碼,使用范圍解析操作符(::)來明確調(diào)用父類代碼。一個(gè)命令按鈕的單擊事件過程可能是這樣的:
&&
Comments
MyExitButton::Click
&&

問題45: 怎樣使 工具條按鈕的 可用/不可用 和對(duì)應(yīng)的菜單選擇協(xié)調(diào)一致?
答案45: 一個(gè)協(xié)調(diào)工具條按鈕和菜單選擇的簡(jiǎn)單的方法是:在菜單的 Skip子句中使用 Enabled屬性。
例如,你有一個(gè)名為oToolbar的工具條,其上有一個(gè)新建命令按鈕叫cmdAdd同時(shí)你有一個(gè)記錄菜單其中有一個(gè)新建選項(xiàng)。給新建選項(xiàng)的Skip子句加上"oToolBar.cmdAdd.Enabled = .F."
或"!oToolBar.cmdAdd.Enabled"則新建菜單選項(xiàng)僅當(dāng)oToolBar.cmdAdd可用時(shí)才是可用的。記住
Set Skip當(dāng)它的值為.T.時(shí),廢止菜單選項(xiàng),所以在上例中的NOT 操作符 (!)或"= .F."是必不可少的。

問題46: 怎樣同時(shí)設(shè)置多個(gè)對(duì)象的同一屬性?
答案46: 用SetAll方法。例如,你決定為全部網(wǎng)格中的標(biāo)題設(shè)置9號(hào)宋體。將以下代碼放入網(wǎng)格的Init事件:
THIS.SETALL("FontName","Arial","Header")

問題47: 我必須總是打入長(zhǎng)長(zhǎng)的對(duì)象層次列表嗎?
答案47: 不.你可以使用變量替換,以下兩種方法的效果是相同的:
Thisform.pageframe.page1.container.object.caption="This"
Thisform.pageframe.page1.container.object.left=10
Thisform.pageframe.page1.container.object.top=50

temp = Thisform.pageframe.page1.container.object
temp.caption = "This "
temp.left = 10
temp.top = 50
另一種方法是使用WITH命令,
WITH Thisform.pageframe.page1.container.object
.caption = "This "
.left = 10
.top = 50
ENDWITH

問題48: 可以迅速地在屬性窗口中定位嗎?
答案48: 熱鍵Ctrl+Alt+key可使在屬性窗口中定位變得快而簡(jiǎn)單。例如,當(dāng)表單對(duì)象選中時(shí),在屬性窗口中按下Ctrl+Alt+C將快速移動(dòng)到Caption屬性。

問題49: 當(dāng)所有窗口打開時(shí),怎樣才能看到VFP桌面上的內(nèi)容?
答案49: 按ALT+CTRL+SHIFT將把全部打開的窗口隱藏起來,直到放開鍵。

問題50: 我能創(chuàng)建文本報(bào)表嗎?
答案50: 可以。將報(bào)表表單的ASCII分句打上鉤。

問題51: 我怎樣把事情的動(dòng)作在"大小調(diào)整工具條"中顛倒過來?

答案51: 當(dāng)你單擊它的時(shí)候,按住Ctrl鍵不放。

問題52: 我怎樣能更精確地移動(dòng)表單中的對(duì)象?
答案52: 可以一次移動(dòng)一個(gè)對(duì)象一個(gè)象素。方法是:使用箭頭鍵
或拖動(dòng)它時(shí)按下Ctrl鍵不放。

問題53: 可以在多窗口中進(jìn)行拖放操作嗎?
答案53: 是,可以在命令窗口中看看效果。你可以拖動(dòng)在這里打入的代碼到任何編程窗口中
。

問題54: 當(dāng)修改頁屬性的時(shí)候,我得到一條錯(cuò)誤信息 "屬性xyz找不到"。
答案54: 也許你錯(cuò)誤地引用了pageframe容器對(duì)象自身:ThisForm.Page1.xyz=20
應(yīng)該是:ThisForm.Pageframe.Page1.xyz=20

問題55: 如何添加文本到備注字段?
答案55:
lcMemo='Append this string'
REPLACE Table.MemoField WITH lcMemo ADDITIVE

問題56: VFP 5.0有那些新功能?
答案56: 很多,很多的東西。新特征,更牢固的環(huán)境,更小存儲(chǔ)器需求,錯(cuò)誤校正,并且更好命名,開發(fā)環(huán)境.更多的細(xì)節(jié)的微軟公司WWW網(wǎng)點(diǎn)。

問題57: 當(dāng)啟動(dòng)應(yīng)用程序的 .EXE 文件時(shí),如何隱藏 Visual FoxPro 桌面?
答案57: 在 CONFIG.FPW 配置文件中添加如下命令行:
SCREEN=OFF
注意:如果您無須將 CONFIG.FPW 作為單獨(dú)的文件提供(也就是說,在連編 .EXE 文件之后,您不需要對(duì)它作任何改動(dòng)) 。您可向項(xiàng)目中添加 CONFIG.FPW 文件,并將之標(biāo)記為可包含的,該文件就會(huì)連編為 .EXE 文件的一部分。只有頂層表單活動(dòng)時(shí),Visual FoxPro 才可以隱藏桌面。使用如下命令,您可以用編程方式隱藏桌面(假設(shè)已有一個(gè)頂層表單處于活動(dòng)狀態(tài)中):
_VFP.Visible = .F.

問題58: 如何建立一個(gè)帶有頂層菜單的頂層表單?
答案58: 要建立一個(gè)頂層表單,請(qǐng)將表單的 ShowWindow 屬性設(shè)置為 2- 作為頂層表單。要建立一個(gè)頂層菜單,請(qǐng)打開"菜單設(shè)計(jì)器"。從"顯示"菜單中,選擇"常規(guī)選項(xiàng)",然后設(shè)置"頂層表單"選項(xiàng)。要想將頂層菜單放入頂層表單中,請(qǐng)?jiān)诒韱蔚?Init(或其他)事件中添加相關(guān)的代碼。例如:
DO with THIS,.T.
如果要查看調(diào)用頂層菜單的不同選項(xiàng),請(qǐng)參閱 generated .mpr 文件中的開始部分。

問題59: 當(dāng)我從工具菜單中挑選向?qū)r(shí),應(yīng)用程序向?qū)Р怀霈F(xiàn)。怎樣才能運(yùn)行它?
答案59: 要運(yùn)行應(yīng)用程序向?qū)? 從工具菜單選向?qū)Р淖硬藛沃羞x擇全部。這將打開向?qū)нx擇對(duì)話框,從中選擇的應(yīng)用程序向?qū)А?br>

問題60: 如何在組合框中隱藏指定的列,只顯示其他的列?
答案60: 在組合框中,隱藏指定列的最簡(jiǎn)單方法是使用"組合框生成器"。在"組合框生成器"的"布局"選項(xiàng)卡上,將這些列拖到您所希望的寬度。如果要通過編程在組合框中隱藏指定的列,請(qǐng)將這些列的 ColumnWidth 屬性設(shè)置為 0。在如下的程序代碼中,列 1 和列 2 被隱藏,列 3 的寬度為 100 pixels:
THISFORM.ComboBox1.ColumnWidths = 0,0,100

問題61: 在一個(gè)編輯窗口中,能否對(duì)標(biāo)注語法的顏色進(jìn)行定制?
答案61: 從"工具"菜單中選擇"選項(xiàng)",很容易定制代碼顏色。在"選項(xiàng)"對(duì)話框中選擇"語法著色"選項(xiàng)卡,您會(huì)發(fā)現(xiàn)不同的方法可以定制代碼顏色。如果要將語法顏色全部清除,從"編輯"菜單中選擇"屬性",顯示出"屬性"對(duì)話框。然后,清除"語法著色"復(fù)選框。

問題62: 在我自己建立的類和表單的事件和方法過程中發(fā)生錯(cuò)誤時(shí),怎樣排除?我怎樣排除他們的缺陷?
答案62: 要查看類和表單的方法或事件過程中程序編碼,把SET STEP ON放在方法或事件過程的開始處(或任何其它你想每次一行的運(yùn)行程序的代碼段開始處). 然后用跟蹤和調(diào)試窗口來排除你的編碼的缺陷。

問題63: 怎樣把空白行加到網(wǎng)格上?
答案63: 網(wǎng)格控件被設(shè)計(jì)來從表,游標(biāo)或視圖顯示記錄。你可以用APPEND BLANK 或 INSERT - SQL命令增加一個(gè)空行到網(wǎng)格。在設(shè)計(jì)時(shí), 網(wǎng)格不能顯示數(shù)組的元素.如果你不想為網(wǎng)格建立一個(gè)磁盤文件,可以考慮用CREATE CURSOR命令來建立一個(gè)游標(biāo)(在內(nèi)存中的臨時(shí)表). 在游標(biāo)建立后,用INSERT - SQL添加記錄到游標(biāo)中。

問題64: 怎樣能計(jì)算報(bào)表內(nèi)的行數(shù)?
答案64: 你可以使用報(bào)表變量來計(jì)數(shù)報(bào)表的行數(shù)。從報(bào)表菜單中選擇"變量"來建立一個(gè)報(bào)表變量。給報(bào)表變量取一個(gè)名字并增加一個(gè)IIF()函數(shù)到變量。作為邏輯表達(dá)式的IIF()函數(shù),為你要計(jì)數(shù)的字段指定條件:
第一個(gè)IIF()函數(shù)返回值指定1。
第二的IIF()函數(shù)返回值指定0。
例如,下列IIF()函數(shù)用于計(jì)數(shù)州名為華盛頓的記錄(State = 'WA')的記錄數(shù)。
IIF(State = 'WA', 1, 0)
選擇"求和" 按鈕, 并保存報(bào)表變量.
放入一個(gè)字段到報(bào)表的分組或頁腳帶,并為報(bào)表表達(dá)式指定報(bào)表變量。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章