AutoLisp DCL按钮多行文本问题:换行无效如何缩小按钮宽度?
AutoLisp DCL按钮多行文本实现问题解答
DCL支持按钮内多行文本,这不属于语言限制,你的问题是因为没开启按钮的多行支持属性。
默认情况下,DCL按钮的multi_line属性为false,这时候即使你在label里写\n,控件也不会识别为换行,反而可能把转义字符解析成奇怪的符号(比如你看到的逗号)。
解决方法很简单:
- 给需要多行文本的按钮添加
multi_line = true;属性,开启多行支持 - 在label中用
\n作为换行符分隔文本
修改后的DCL代码片段如下:
// Revision : boxed_column { key = "Column_Revision" ; label = "Revision Line" ; : row { // Row 08 - Quick Choices key = "Row_Buttons" ; : button { key = "btn_IFC" ; multi_line = true; label = "Issued for\nConstruction" ; }// button : button { key = "tbn_AB" ; multi_line = true; label = "As\nBuilt" ; }// button : radio_column { key = "RadioCol_WriteMethod" ; : radio_button { key = "rbtn_Owt" ; label = "Clear && Overwrite" ; }// radio_button : radio_button { key = "rbtn_Apnd" ; label = "Append / New Line" ; }// radio_button } //radio_column } //row : spacer ; : row { // Row 09 - Revision Details key = "Row_Labels" ; // Omitted Code }// row }// boxed_column
另外,你也可以直接把label写成多行字符串(依赖DCL文件的实际换行),但这种写法在不同编辑器或环境下可能出现格式问题,更推荐上面的multi_line加\n的方式。
内容的提问来源于stack exchange,提问作者G Beck
相关产品推荐
相关产品推荐

