Я использую графический набор инструментов Racket, и я пытаюсь показать всплывающее меню с предложением.
У меня есть список доступных строк для выбора, и я хочу показать их во всплывающем меню, когда вы пишете в текстовом поле.
Мне удалось показать их, но вы должны повторно выбрать текстовое поле, чтобы продолжить запись. И каждый раз, когда вы выбираете текстовое поле, всплывающее меню исчезает.
Это вообще возможно? если да, то как мне этого добиться?
вот небольшой пример, чтобы лучше объяснить себя:
(define (prueba)
(let* ((ventana (new frame% (label "")))
(sugerencia (new popup-menu%))
(texto (new text-field% (label "prueba")(parent ventana)
(callback (lambda (t e)
(new menu-item% (label (send t get-value))(parent sugerencia)
(callback (lambda (i e) (void))))
(send ventana popup-menu sugerencia (+ 50 (send t get-x)) (+(send t get-height)(send t get-y))))))))
(send ventana show #t)))