問題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)表變量。
|