solox 发表于 2017-1-20 22:42:52

关于label中的文字对齐问题

我想要输出的结果如下:
菜A 101+122    =203
菜B 18+33      =51
菜C 91+108      =199
菜D 8+6         =15

代码入下        Local $sResult=""
        For $i=1 To $iKinds
                $sResult = $sResult & GUICtrlRead($idFm_food[$i]) & " " & GUICtrlRead($idFm_Weight_DS[$i]) &"+"& GUICtrlRead($idFm_Weight_YP[$i]) & @TAB & "=" & $iFinalWeight[$i] &@CRLF
        Next
        GUICtrlSetData($idFm_Label, $sResult)用@TAB会有一个问题就是出现下面这个情况:
菜A 101+122    =203
菜B 18+33      =51
菜C 91+108      =199
菜D 8+6   =15

能力有限,求助方法解决

afan 发表于 2017-1-20 22:51:37

label 的话完全可以使用两个 label控件,一个为计算式,一个为结果,这样极其简单

如果是edit这类就得看使用场景了,如果只能使用一个控件,那就要分别计算每行到=号的当前字体像素距离,然后找到最长的,再分别在其它行=号前添加空格并计算,比较繁琐

solox 发表于 2017-1-20 23:25:26

回复 2# afan


    我现在的实现方式也是两个label,就是想知道能否在一个label里用比较简单的方式去实现

1361739590 发表于 2017-1-21 09:11:08

应该只能计算长度了,好像没有自动调节的功能。用StringFormat

heroxianf 发表于 2017-1-24 17:48:33

我就用的AFAN说的方法,长度留够就可以了。

jsdn2000 发表于 2017-2-10 21:32:32

把label设置的一样长,足够长

jsdn2000 发表于 2017-2-10 21:32:35

把label设置的一样长,足够长
页: [1]
查看完整版本: 关于label中的文字对齐问题