还是改成容器吧,编程的时候好处理一点
程序代码:
PROCEDURE howManyLine.upClick &&rtnMainBtn.click IF thisform.currLine<4 clflCbxNum="clflCbx"+ALLTRIM(STR(thisform.howManyLine.value)) clmcCbxNum="clmcCbx"+ALLTRIM(STR(thisform.howManyLine.value)) jldwCbxNum="jldwCbx"+ALLTRIM(STR(thisform.howManyLine.value)) ssslTxtNum="ssslTxt"+ALLTRIM(STR(thisform.howManyLine.value)) grdjTxtNum="grdjTxt"+ALLTRIM(STR(thisform.howManyLine.value)) grjeTxtNum="grjeTxt"+ALLTRIM(STR(thisform.howManyLine.value)) bzdjTxtNum="bzdjTxt"+ALLTRIM(STR(thisform.howManyLine.value)) bzjeTxtNum="bzjeTxt"+ALLTRIM(STR(thisform.howManyLine.value)) cjTxtNum="cjTxt"+ALLTRIM(STR(thisform.howManyLine.value)) bgddCbxNum="bgddCbx"+ALLTRIM(STR(thisform.howManyLine.value)) thisform.addobject('&clflCbxNum','comboBox') thisform.addobject('&clmcCbxNum','comboBox') thisform.addobject('&jldwCbxNum','comboBox') thisform.addobject('&ssslTxtNum','textBox') thisform.addobject('&grdjTxtNum','textBox') thisform.addobject('&grjeTxtNum','textBox') thisform.addobject('&bzdjTxtNum','textBox') thisform.addobject('&bzjeTxtNum','textBox') thisform.addobject('&cjTxtNum','textBox') thisform.addobject('&bgddCbxNum','comboBox') Thisform.Arrange ELSE MESSAGEBOX("1单内最多只能有4项材料入账",64,"操作提示!") ENDIF ENDPROC PROCEDURE howManyLine.downClick &&rtnMainBtn.click IF thisform.currLine>1 clflCbxNum="clflCbx"+ALLTRIM(STR(thisform.howManyLine.value+1)) clmcCbxNum="clmcCbx"+ALLTRIM(STR(thisform.howManyLine.value+1)) jldwCbxNum="jldwCbx"+ALLTRIM(STR(thisform.howManyLine.value+1)) ssslTxtNum="ssslTxt"+ALLTRIM(STR(thisform.howManyLine.value+1)) grdjTxtNum="grdjTxt"+ALLTRIM(STR(thisform.howManyLine.value+1)) grjeTxtNum="grjeTxt"+ALLTRIM(STR(thisform.howManyLine.value+1)) bzdjTxtNum="bzdjTxt"+ALLTRIM(STR(thisform.howManyLine.value+1)) bzjeTxtNum="bzjeTxt"+ALLTRIM(STR(thisform.howManyLine.value+1)) cjTxtNum="cjTxt"+ALLTRIM(STR(thisform.howManyLine.value+1)) bgddCbxNum="bgddCbx"+ALLTRIM(STR(thisform.howManyLine.value+1)) thisform.removeObject('&clflCbxNum') thisform.removeObject('&clmcCbxNum') thisform.removeObject('&jldwCbxNum') thisform.removeObject('&ssslTxtNum') thisform.removeObject('&grdjTxtNum') thisform.removeObject('&grjeTxtNum') thisform.removeObject('&bzdjTxtNum') thisform.removeObject('&bzjeTxtNum') thisform.removeObject('&cjTxtNum') thisform.removeObject('&bgddCbxNum') Thisform.Arrange ELSE MESSAGEBOX("1单内至少要有1项材料入账",64,"操作提示!") ENDIF ENDPROC
一个一个的添加,是不是相应的数据关联,也要一个一个的做?好像是挺。。。。。。
现在换成容器,但是大脑里,对于容器内各控件间距,各控件命名和以后的引用,还有容器和表单上面和下面的控件间的定位,缩放、字号大小调整
所有概念都很模糊,T版说,这种时候,先用语言描述一遍逻辑,再把汉语换成编程语言。。。。。。
那我就说了 ,,, 不对的地方 各位老师指正一下
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
&&收料单
略,,,
添加第三条直线 with top=上一行控件的底+三倍行距
添加容器a with top=第三条直线的底+三倍行距,left=第三条直线的left,width=第三条直线的宽
添加第四条直线 with top=容器a的底+三倍行距
添加退出按钮等,在第四条直线下面
略,,,
procedure Arrange
if type(第四行第一个控件)=="o"
容器a的高=第三条直线的底+4行控件的高+三倍行距
endif
if type(第三行第一个控件)=="o"
容器a的高=第三条直线的底+3行控件的高+两倍行距
endif
if type(第二行第一个控件)=="o"
容器a的高=第三条直线的底+2行控件的高+一倍行距
endif
if type(第一行第一个控件)=="o"
容器a的高=第三条直线的底+1行控件的高
endif
endproc
procedure init
select 2 &&按表的建立顺序,每个表在固定工作区打开
use datas\收料明细
go top
if bof()
容器b.addobject('容器b1','容器')
各种按钮状态的调节
else
查询最后一条收料明细的账单号,并根据它包含的项目数添加容器b的相应个数的实例
各种按钮状态的调节
endif
endproc
&&收料容器.prg
具体内容还没想好怎么写 。。。