乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 28|回复: 15

[编程交流] 在文本编辑中对齐文本

[复制链接]

18

主题

81

帖子

63

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 15:15:25 | 显示全部楼层 |阅读模式
因此,我一直在寻找一些时间,现在试图找到一些能够帮助我做到这一点。我希望多行文字中的文字向右、居中或向左对齐。我现在看到的唯一方法是双击,高亮显示文本,然后从功能区中选择它。
 
我试着使用textalign命令,但似乎无法将文本向右、居中或向左移动。
 
有谁知道有一个lisp,你可以选择左、右或居中,然后单击要更改的文本?
 
谢谢大家
161529h5gggq7g0gkjqk77.png
161530ajbz3rkmohtowthb.png
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 15:21:06 | 显示全部楼层
您只需在“特性”选项板中切换“对齐”?
回复

使用道具 举报

18

主题

81

帖子

63

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 15:23:55 | 显示全部楼层
是的,我就是那种不喜欢使用调色板的人。我只是想看看是否有什么东西可以让事情变得更快一点
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 15:29:32 | 显示全部楼层
 
很公平。。如果其他人不加入,我会在一点时间内敲出一些代码
回复

使用道具 举报

18

主题

81

帖子

63

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 15:33:42 | 显示全部楼层
哦,太棒了!另一件我不喜欢使用这个调色板的事情是,如果你有多行文字,并且没有将方框缩小到一定大小,当你点击从右到左对齐时,它会移动文字。这是另一个额外的步骤。不确定是否也可以考虑。如果不是都好的话。我只是想把它扔出去。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:39:16 | 显示全部楼层
试试这个:
  1. (defun c:mj ( / g i l s )
  2.    (if (setq s (ssget "_:L" '((0 . "MTEXT"))))
  3.        (progn
  4.            (repeat (setq i (sslength s))
  5.                (setq l (cons (entget (ssname s (setq i (1- i)))) l))
  6.            )
  7.            (princ "\nAlter the alignment using the numberpad <done>: ")
  8.            (while (and (= 2 (car (setq g (grread nil 2)))) (< 48 (cadr g) 58))
  9.                (setq g (cons 71 (cdr (assoc (cadr g) '((49 . 7)(50 . (51 . 9)(52 . 4)(53 . 5)(54 . 6)(55 . 1)(56 . 2)(57 . 3))))))
  10.                (foreach x l (entmod (subst g (assoc 71 x) x)))
  11.            )
  12.        )
  13.    )
  14.    (princ)
  15. )

 
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 15:42:30 | 显示全部楼层
李很好。。这里是另一个快速的。
  1. (defun c:just (/ j k s)
  2. (setq j '("TL" "TC" "TR" "ML" "MC" "MR" "BL" "BC" "BR"))
  3. (initget 0 (apply 'strcat (mapcar '(lambda (x) (strcat x " ")) j)))
  4. (cond
  5.    ((and (or (setq
  6.         k (getkword
  7.             (strcat "\n[" (apply 'strcat (mapcar '(lambda (x) (strcat x "/")) j)) "]: <TL>")
  8.           )
  9.       )
  10.       (setq k "TL")
  11.   )
  12.   (setq s (ssget ":L" '((0 . "mtext"))))
  13.     )
  14.     (foreach e        (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
  15.       (vla-put-attachmentpoint (vlax-ename->vla-object e) (1+ (vl-position k j)))
  16.     )
  17.    )
  18. )
  19. (princ)
  20. )
  21. (vl-load-com)
回复

使用道具 举报

18

主题

81

帖子

63

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 15:45:33 | 显示全部楼层
 
麦克先生,谢谢你。我在玩它,我注意到在键盘上(9)是底部(6)中心和(3)顶部,然后是另一侧(7)底部(4)中心和(1)顶部。
 
我认为这就是你希望领导出现的地方。我的想法正确吗?我想的更多是当你双击文本,突出显示文本,而在“段落”上方的文本编辑器中,你可以选择“右对齐”,左对齐,居中对齐,等等。
 
我和一个人聊过,他们告诉我只用宏就可以了。这是给我的。
 
  1. ;; Justification Macros
  2. (defun _justifyIt (justify title / ss)
  3. (princ (strcat "\nSelect *Text to " title " justify: "))
  4. (if (setq ss (ssget "_:L" '((0 . "ATTDEF,MTEXT,TEXT"))))
  5.    (command "_.justifytext" ss "" justify)
  6. )
  7. (princ)
  8. )
  9. (defun c:JL (/) (_justifyIt "_L" "Left"))
  10. (defun c:JR (/) (_justifyIt "_R" "Right"))

 
我注意到这并不适用于所有多行文字。这取决于它的对正点。和/或只有当文本看起来像这样时才起作用。我当然希望我能理解这一点。
161532xwy3lgyycf3c7fzc.png
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:50:23 | 显示全部楼层
好东西,罗恩
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 15:52:36 | 显示全部楼层
 
干杯
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 13:04 , Processed in 1.281924 second(s), 76 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表