为什么 text% 中的文本没有被删除?
Why text in text% not getting deleted?
我想从文本区域删除现有文本并插入新文本,但它不起作用。我有以下代码:
#lang racket/gui
(define myframe (new frame%
[label "testing"]
[width 600]
[height 400]))
(define mytextarea (new text% ))
(new editor-canvas%
[parent myframe]
[editor mytextarea])
(define (button_fn button event)
(begin
(send mytextarea delete ; does not work;
(send mytextarea get-start-position)
(send mytextarea get-end-position))
(send mytextarea insert "New string inserted" 0) ; works;
))
(define mybutton (new button% [parent myframe]
[label "delete"]
[callback button_fn ]))
(send myframe show #t)
没有错误信息。问题出在哪里,如何解决?
get-start-position
and get-end-position
return当前选择的开始和结束;如果没有选择,那么它们都是 return 光标的位置。
如果要删除文本区的全部内容,使用last-position
:
(send mytextarea delete 0 (send mytextarea last-position))
或者您可以使用 erase
方法:
(send mytextarea erase) ;; deletes everything
我想从文本区域删除现有文本并插入新文本,但它不起作用。我有以下代码:
#lang racket/gui
(define myframe (new frame%
[label "testing"]
[width 600]
[height 400]))
(define mytextarea (new text% ))
(new editor-canvas%
[parent myframe]
[editor mytextarea])
(define (button_fn button event)
(begin
(send mytextarea delete ; does not work;
(send mytextarea get-start-position)
(send mytextarea get-end-position))
(send mytextarea insert "New string inserted" 0) ; works;
))
(define mybutton (new button% [parent myframe]
[label "delete"]
[callback button_fn ]))
(send myframe show #t)
没有错误信息。问题出在哪里,如何解决?
get-start-position
and get-end-position
return当前选择的开始和结束;如果没有选择,那么它们都是 return 光标的位置。
如果要删除文本区的全部内容,使用last-position
:
(send mytextarea delete 0 (send mytextarea last-position))
或者您可以使用 erase
方法:
(send mytextarea erase) ;; deletes everything