텍스트 편집 상자에 nlines를 자동으로 설정하시겠습니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요, JMP 여러분,
와 함께 텍스트 상자 랩 및 너비 픽셀을 설정하면 텍스트 상자의 높이가 텍스트를 수용할 수 있을 만큼 자동으로 크게 설정됩니다.예를 들어:
my_narr = "Bacon ipsum dolor amet sirloin short loin meatloaf doner, 어깨 돼지 양지머리 베이컨 돼지 boudin alcatra 햄 호크 척 햄버거 콘비프. 포크 찹 랜드예거 소시지 프랑크푸르터 빌통 도너 포크 로스 햄 파스트라미 등심 등심. 양지머리 프로슈토 콘드 비프 쇼트 립. 볼 팁 필레 미뇽 숄더, 랜드예거 콘드 비프 팻백 암소 정강이 사슴고기 돼지갈비 베이컨 미트볼 브레사올라 레베르카스. 삼겹 갈비 안두이 꼬리 프로슈토 도너 돼지 갈비 둥근 미트로프 판체타 부댕.
브리스킷 비프 베이컨, 랜드예거 비프 립 안심 알카트라 티본 쇼트 립 사슴고기 등심 카피콜라 피칸하 돼지. 살라미 양지머리 도너 드럼스틱 돼지고기 허리 정강이 치킨 콘드 비프 쇼트 립 척 미트볼 티본. Andouille 프랑크푸르터 우둔살 스테이크 랜드예거 베이컨 비프 햄 호크 햄버거 플랭크 피카냐. 브리스킷 쇼트 로인 플랭크 햄버거 삼겹살 소세지 브레사올라 도너. 빌통 프로슈토 육포, 스페어 립 포르케타 피칸하 우둔살 돼지돼지 등심 큐핌." ;
nw = 새창 ( "시험" ,
결핵 = 텍스트 상자 ( my_narr ) ,
) ;
결핵 << 세트 랩 ( 600 ) << 너비 설정 ( 600 ) ;
사용자가 정보의 일부를 복사/붙여넣기를 원하기 때문에 텍스트 편집 상자에 넣은 긴 텍스트가 있습니다.그러나 텍스트 편집 상자는 다음을 사용하여 높이를 설정해야 합니다. n라인 설정 .
nw = 새창 ( "시험" ,
텝 = 텍스트 편집 상자 ( my_narr ) ,
) ;
텝 << 세트 랩 ( 600 ) << 너비 설정 ( 600 ) << n라인 설정 ( 10 ) ;
긴 텍스트가 주어진 줄 수를 계산하는 매끄러운 방법이 있습니까?방법을 생각해 냈지만 번거로운 것 같습니다.이 예제를 실행하는 데 필요한 코드를 첨부했습니다.두 가지 기능이 있습니다. get_num_lines 그리고 my_parse .임의로 긴 구분 기호와 그 사이에 아무 것도 없는 두 개 이상의 구분 기호를 처리하기 위해 자체 파서를 작성해야 했습니다.
nw = 새창 ( "시험" ,
텝 = 텍스트 편집 상자 ( my_narr ) ,
) ;
num_lines = get_num_lines( my_narr , 600 ) ;
텝 << 세트 랩 ( 600 ) << 너비 설정 ( 600 ) << n라인 설정 ( num_lines ) ;
Re: 텍스트 편집 상자에 nlines를 자동으로 설정합니까?저를 올바른 길로 인도해 주신 MS에게 감사드립니다.간단한 매끄러운 솔루션에 감사드립니다!
이 방정식은 height / (fontsize+1)보다 약간 더 잘 작동하는 것 같습니다.
n라인 = 최대 ( 1 , 바닥 ( .6264918 * 키 / 글꼴 크기 - 1.567659 )) ;
부록:
이것은 적은 수의 문자에 더 잘 작동합니다.
n라인 = 최대 ( 1 , 둥근 ( .5204443 * 키 / 글꼴 크기 )) ;
Re: 텍스트 편집 상자에 nlines를 자동으로 설정합니까?한 가지 아이디어는 텍스트 상자의 자동 크기 조정 기능을 활용하는 것입니다. 줄 수는 height_of_textbox / (fontsize+1) 비율과 같습니다.
my_narr =
"Bacon ipsum dolor amet sirloin short loin meatloaf doner, 어깨 돼지 양지머리 베이컨 돼지 boudin alcatra 햄 호크 척 햄버거 콘비프. 포크 찹 랜드예거 소시지 프랑크푸르터 빌통 도너 포크 로스 햄 파스트라미 등심 등심. 양지머리 프로슈토 콘드 비프 쇼트 립. 볼 팁 필레 미뇽 숄더, 랜드예거 콘드 비프 팻백 암소 정강이 사슴고기 돼지갈비 베이컨 미트볼 브레사올라 레베르카스. 삼겹 갈비와 두이 꼬리 프로슈토 도너 돼지 갈비, 둥근 미트로프 판체타 부댕.
브리스킷 비프 베이컨, 랜드예거 비프 립 안심 알카트라 티본 쇼트 립 사슴고기 등심 카피콜라 피칸하 돼지. 살라미 양지머리 도너 드럼스틱 돼지고기 허리 정강이 치킨 콘드 비프 쇼트 립 척 미트볼 티본. Andouille 프랑크푸르터 우둔살 스테이크 랜드예거 베이컨 비프 햄 호크 햄버거 플랭크 피카냐. 브리스킷 쇼트 로인 플랭크 햄버거 삼겹살 소세지 브레사올라 도너. 빌통 프로슈토 육포, 스페어 립 포르케타 피칸하 우둔살 돼지돼지 등심 큐핌." ;
승 = 450 ; // 줄 바꿈 및 너비
결핵 = 텍스트 상자 ( my_narr , 세트 랩 ( 승 ) , 너비 설정 ( 승 ) , 숨다 ( 1 )) ; // 일시적으로 보이지 않는 텍스트 상자
nw = 새창 ( "시험" , 결핵 ) ;
// 사이즈 정보 얻기
키 = ( 결핵 << 크기를 얻으십시오 )[ 2 ] ;
글꼴 크기 = 결핵 << 글꼴 크기 얻기 ;
n라인 = 키 / ( 글꼴 크기 + 1 ) ;
//n라인++; // 약간의 패딩을 얻기 위해 +1을 추가합니다. TextEditBox 내용을 선택하면 크기가 커집니다.
결핵 << 삭제 ;
//TextBox와 같은 크기의 TextEditBox 추가
텝 = 텍스트 편집 상자 ( my_narr , 세트 랩 ( 승 ) , 너비 설정 ( 승 ) , n라인 설정 ( n라인 )) ;
nw << 추가 ( 텝 ) ;