여러 줄 셀이 있는 테이블 상자Table Box에서 약간의 문제(긴 문제 목록에 하나 더)를 발견했습니다. 테이블 상자에 상당히 긴 문자열을 추가하려고 하는데 테이블 상자가 실제로 여러 줄을 지원하지 않기 때문에 Col Box with Table Box(<< Set Wrap())... 이 문제는 다음과 같습니다. 다른 모든 것을 부수다
Names Default To Here(1);
tb = Table Box(
nceb = Number Col Edit Box("Order", []),
scb1 = String Col Box("103width", {}),
cb = Col Box("longstring", {}),
scb2 = String Col Box("104width", {}),
);
nceb << Set Width(40);
scb1 << Set Width(103);
scb2 << Set Width(104);
New window("",
tb
);
textb = Text Box("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDD", << Set Wrap(150));
long_str = "speciallylongname";
Eval(EvalExpr(
tb << Add Row({1, Expr(long_str), Expr(textb), Expr(long_str)});
));

103width가 래핑되고 두 번째 줄만 표시되는 것 같습니다.
아무도 내가 이것을 처리 할 수있는 좋은 아이디어가 있습니까? 이 세 가지가 내 마음에 빨리옵니다.
- 텍스트 상자와 함께 Col Box만 사용해야 하고 사용자가 원하는만큼 쉽게 Table Box의 행을 선택하도록 할 수 없다는 점을 인정해야 합니까?
- 새 표시 상자 요소에 대한 사용자 정의 클래스를 작성해야 합니까(예: 테이블 상자 포기)
- 전체 텍스트로 숨겨진 열을 만든 다음 문자열 열 상자에 표시할 수 있는 최대 너비를 계산하고 해당 열만 표시합니다.
스크립팅창Re: 여러 줄 셀이 있는 테이블 상자나는 당신의 스크립트를 실행했고 다른 결과를 얻었습니다.

테이블에 두 번째 줄을 추가하여 훨씬 더 혼란스러운 결과

포함된 텍스트 상자와 함께 Col Box()를 사용하면 도움이 되는 것 같습니다.

Re: 여러 줄 셀이 있는 테이블 상자@txnelson 첫 번째 경우의 차이점은 너비가 픽셀을 사용하여 설정되기 때문에 다른 글꼴 설정(또는 확대/축소 수준?)으로 인해 발생할 수 있습니다.
두 번째 경우는 행이 어떻게 든 혼합되는 것처럼 보이기 때문에 약간 걱정됩니다. 잘못된 행에서 텍스트를 가져올 가능성이 큽니다.

(변경된 long_str = "11231231312312312312", 두 번째 행의 경우).
텍스트 상자와 함께 Col Box를 사용하는 것이 현재로서는 "유일한" 솔루션일 수 있습니다. tb << Set Selectable Rows(1); col 상자를 사용할 때.
Re: 여러 줄 셀이 있는 테이블 상자나는 테이블 상자를 열 단위로 채우는 경향이 있으므로 다음을 시도했습니다.
nceb << set({1});
scb1 << set({long_str});
scb2 << set({long_str});
wait(2);
cb << set(lstBoxes);
그러나 같은 문제가 발생했습니다.내가 작동하게 할 수 있는 유일한 방법은 scb1과 텍스트 상자가 포함된 Col Box를 사용하는 것뿐이었습니다.나는 일반적으로 테이블 상자의 첫 번째 열에 선택을 허용하는 라디오 버튼을 포함하는 방법을 사용했습니다.

Re: 여러 줄 셀이 있는 테이블 상자또한 Table Box는 각 행의 높이가 고정되어 있기 때문에 Text Box()를 Scroll Box()로 감싸는 것이 좋습니다(스크롤 상자가 나타나면 열이 약간 넓어집니다).
Names Default To Here(1);
tb = Table Box(
nceb = Number Col Edit Box("Order", []),
scb1 = String Col Box("103width", {}),
cb = Col Box("longstring", {}),
scb2 = String Col Box("104width", {}),
);
nceb << Set Width(40);
scb1 << Set Width(103);
scb2 << Set Width(104);
New window("",
tb
);
textb = Scroll Box(Size(175, 35),
Text Box("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", << Set Wrap(150))
, <<SET auto="" stretching=""></SET>