S saga Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #1 是这个样子,现在从query中返回数目不定的记录,要把这些记录显示在label上。 行满了还要换行。请问具体应该如何去做?谢谢大家了。
T Tuatara Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #2 var i:integer; TempStr:string; while not Query.Eof do begin TempStr:=''; for i:=0 to Query.FieldCount-1 do TempStr:=TempStr+Query.Fields.DisplayText+' '; Lablel.Caption:=Label.Caption+chr(13)+TempStr; Query.Next; end;
var i:integer; TempStr:string; while not Query.Eof do begin TempStr:=''; for i:=0 to Query.FieldCount-1 do TempStr:=TempStr+Query.Fields.DisplayText+' '; Lablel.Caption:=Label.Caption+chr(13)+TempStr; Query.Next; end;
T tomol Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #3 to saga: 什么叫“行满了”,是你指定的长度吗?,请指明 Tuatara的方法是把每条记录分行显示 其实label控件的分行方式主要有两种 1.label.Caption := str1 + #13 + str2; 2.通过设定属性: a.设定label控件的AutoSize为false b.设定label控件的Wordwrap为true c.在需要分行的时候在字符串中加空格 比如:str1空格str2,这样在运行的时候自然会显示分行 所以,你可以先设定长度,当达到“行满”时,使用如下的方法换行,label自己是 不会换行的
to saga: 什么叫“行满了”,是你指定的长度吗?,请指明 Tuatara的方法是把每条记录分行显示 其实label控件的分行方式主要有两种 1.label.Caption := str1 + #13 + str2; 2.通过设定属性: a.设定label控件的AutoSize为false b.设定label控件的Wordwrap为true c.在需要分行的时候在字符串中加空格 比如:str1空格str2,这样在运行的时候自然会显示分行 所以,你可以先设定长度,当达到“行满”时,使用如下的方法换行,label自己是 不会换行的
S saga Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #4 不好意思,没有说清楚 行满了是这个意思,比如说一个panel只能放四个label。 放了四个之后就要另起一行。还有就是美观的问题,总不能 让我事先就把panel的高度搞的很大吧,这些怎么才能动态的 控制呢?
不好意思,没有说清楚 行满了是这个意思,比如说一个panel只能放四个label。 放了四个之后就要另起一行。还有就是美观的问题,总不能 让我事先就把panel的高度搞的很大吧,这些怎么才能动态的 控制呢?
S saga Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #5 程序大概结构是这个样子的 case TempStr of One://---- Two://----- three: 在这个条件下统计记录数量,然后在panel里输出这些记录 end;
S saga Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #6 向Tuatara问一个问题,你这样做。那不是所有的记录都用一个label显示 后面的记录不是把前面的记录覆盖了吗? 如何控制每次输出的label是不同的name?
T tomol Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #7 to saga: 这是不可能的,你仔细看看他的代码 TempStr:=TempStr+Query.Fields.DisplayText+' '; TempStr并没有覆盖它本身呀 是的,所有的字符用一个label表示 我给你写的换行的方法也是用一个label显示
to saga: 这是不可能的,你仔细看看他的代码 TempStr:=TempStr+Query.Fields.DisplayText+' '; TempStr并没有覆盖它本身呀 是的,所有的字符用一个label表示 我给你写的换行的方法也是用一个label显示
S saga Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #8 嗯,多谢楼上老兄。看到了。 我刚才想了一下,用一个label来显示可能是要简单一些 不用设置每个label的坐标了.
T tomol Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-04 #9 是的,只用设置字符串就可以了,跟控件无关 祝你早日解决问题