如何让数字部分上下对齐?
本帖最后由 作者 于 2004-2-16 22:53:18 编辑对话框中有个列表框,想让列表框中的内容按要求的格式显示,就是数字部分上下对齐。
编了个程序,但达不到要求。请高手指点迷津。
把你做出来的效果拿出来看看
这样说很不形象 其实就是求字符串的长度问题,如果知道了在dcl中用的是什么字体,字高是多少,问题也就解决了。 有谁知道在dcl中用的是什么字体,字高是多少,拜托告知。 你的问题跟字高和字体有什么关系吗?2楼的问题怎么不看看 已将文件传上去了,请帮忙解决。 从另一个角度考虑一下吧,
试试下面的
(defun c:try ( / mylist newlist str)<BR> (setq mylist (list "高大 建筑" "窗*户" "门/门1" "fff"))<BR> (setq len (1- (length mylist)))<BR> (while (>= len 0)<BR> (setq str (nth len mylist))<BR> (setq mystrlen (strlen str));求字符串的度<BR> (setq num (- 25 mystrlen))<BR> (while (>= num 1) ;使字符串达到规定的长度。当长度不足时在<BR> ;字符串的后面添加"-"<BR> (setq str (strcat str "-"))<BR> (setq num (- num 1))<BR> )<BR> (setq str (strcat str (itoa len)));直接使用ITOA不是更好吗?<BR> (setq newlist (cons str newlist)) ;实际上就是一个固定总字符数,算算算术的问题<BR> (setq len (1- len))<BR> )
(setq dcl_id (load_dialog "mytry.dcl"))<BR> (if (null (new_dialog "mydcl" dcl_id))<BR> (exit)<BR> )
(start_list "findok" 3)<BR> (if newlist<BR> (mapcar (quote add_list) newlist)<BR> (mapcar (quote add_list) nil)<BR> )<BR> (end_list)<BR> (start_dialog)<BR> (unload_dialog dcl_id)<BR> (princ)<BR>)<BR> 感谢7楼。你说的方法在win2000操作系统中能行,但我用的是win98,在win98中,"-""f""i"等字母所占位子不到一个字符宽,所以还是不能达到目的。 看来还真是个难题 按以上方法,中间不使用"-",使用\t试试
页:
[1]