我在一個表單中要用到多個CHK控件,,并要根據(jù)表單運行時打開的不同的表設(shè)置其Caption屬性,,但我沒有發(fā)現(xiàn)VFP中控件數(shù)組的表示方法,,請問在表單中如何將這些CHK控件寫入循環(huán)語句中,,以實現(xiàn)類似于以下形式的功能 for i=1 to fcount() thisform.chedk(i).caption=field(i) endfor
|
|
|
回復(fù)人:wjgsw 回復(fù)時間:2003-11-16 16:15:00 |
我也沒有找到VFP的控件數(shù)組,,可以采用字符型變量與宏替換的方式來實現(xiàn)這一功能: for i=1 to fcount() ckca=alltrim(str(i,2))+'.caption' ckvi=alltrim(str(i,2))+'.visible' thisform.check&ckca=alltrim(field(i)) thisform.check&ckvi=.t. endfor
|
回復(fù)人:huangdehua 回復(fù)時間:2003-11-16 17:34:00 |
很多控件都有數(shù)組,從屬性中可以找到 一個用控件數(shù)組的例子(從我的軟件中復(fù)制): *-- 自動調(diào)整屏幕大小 IF screen_w<>1 WITH THIS *-- 重新調(diào)整表單的大小和位置 .Width = .Width*screen_w .Height = .Height*screen_h .Left = .Left*screen_w .Top = .Top*screen_h *-- 重新調(diào)整表單上的控件的大小和位置 FOR nControlLoop = 1 TO .ControlCount .Controls[nControlLoop].Width = .Controls[nControlLoop].Width*screen_w && nWidthFactor .Controls[nControlLoop].Height = .Controls[nControlLoop].Height*screen_h && nHeightFactor .Controls[nControlLoop].Left = .Controls[nControlLoop].Left*screen_w&& nWidthFactor .Controls[nControlLoop].Top = .Controls[nControlLoop].Top*screen_h && nHeightFactor *-- 調(diào)整控件字體大小 IF PEMSTATUS(.Controls[nControlLoop],"FontSize",5) .Controls[nControlLoop].FontSize =iif(screen_w>1,(.Controls[nControlLoop].FontSize+1),(.Controls[nControlLoop].FontSize-1)) endi ENDFOR ENDWITH ENDIF *-- 表格 IF screen_w>1 THISform.grdYGDABM.headerheight=28 THISform.grdYGDABM.rowheight=25 ENDI *!* Select .recordsource Local i,ii,BQ,mm,mm1,myarray(1) Afields(myarray) WITH THISform.grdYGDABM For ii=1 to .columncount BQ=LEN(ALLTRIM(.Columns(ii).header1.caption)) myzdm=JUSTEXT(.columns(ii).controlsource) i=ASCAN(myarray,UPPER(myzdm)) *!* i=ASCAN(myarray,UPPER(myzdm)) If BQ<=myarray(i+2) and myarray(i+1)$"CNDT" Do case Case myarray(i+1)="C" Calculate max(len(allt(&myzdm))) for !isnull(&myzdm) to mm Case myarray(i+1)="N" Calculate max(len(allt(STR(&myzdm,myarray(i+2),myarray(i+3))))) to mm Case myarray(i+1)="D" mm=11 Case myarray(i+1)="T" mm=25 Endcase Else mm=myarray(i+2) Endif .Columns(ii).width=(MAX(mm,BQ)+2)*fontmetric(6,.columns(ii).fontname,.columns(ii).fontsize) Endfor Go top ENDWITH ***命令按鈕組** ************調(diào)整結(jié)束******** |
|
|