Тема: Как в text box-e сделать заполнение справа на лево (RTL)

Как в text box-e сделать заполнение справа на лево (RTL)

Re: Как в text box-e сделать заполнение справа на лево (RTL)

никак

Re: Как в text box-e сделать заполнение справа на лево (RTL)

Mihael Burshtein пишет:

Как в text box-e сделать заполнение справа на лево (RTL)

Могу предложить полурешение -
после каждого введенного знака нажимай ENTER:

---  RTL.lsp  ---

(defun C:TRTL    (/ dcl_id text pick)
  
  (defun box_callback(text act)
  (if (member act (list 1 2)) 
  (set_tile "txt" (strcat " " text)
        )
  )
)
  
(defun rem_blanks  (input)
    (vl-list->string
      (vl-remove 32
         (vl-string->list input)
    )
      )
  )
  
  (setvar "CMDECHO" 0)
  (setq dcl_id (load_dialog "RTL.dcl"))
  (if (not (new_dialog "RTL" dcl_id))
    (exit))
(action_tile 
  "txt" 
  "(box_callback $value $reason)"
)
  (action_tile "accept" (strcat
         "(progn "  
    "(setq text (get_tile \"txt\"))"
     "(done_dialog 1))"))
  (action_tile
    "cancel"
    "(done_dialog 2)")
  (setq pick (start_dialog))
  (unload_dialog dcl_id)
  (if (= pick 1)
    (alert (strcat "You entered: " (rem_blanks text))))
  (setvar "CMDECHO" 1)
  (princ)
  )

---  RTL.dcl  ---
 

    RTL : dialog {
    label = "Right to Left Text";
     :row {                                  
     fixed_width = true;
     : boxed_column {
     label = " Press \"Enter\" after every character: ";
     fixed_width = true;
     width=48;
     : edit_box {
     key = "txt";
     initial_focus=true;
     edit_width =36;
     }
     spacer;
     }
     }
     ok_cancel;
     }