2011-06-18 11 views
1

私はRacketグラフィカルツールキットを使用しています。私は提案のポップアップメニューを表示しようとしています。提案popup-menu drracket

私は選択可能な文字列のリストを持っており、テキストフィールドに書き込むときにポップアップメニューにそれらを表示したいと思います。

私はそれらを表示することができましたが、書き込みを続けるにはテキストフィールドを再度選択する必要があります。また、テキストフィールドを選択するたびに、ポップアップメニューが表示されなくなります。

これも可能ですか?もしそうなら、私はこれをどのように達成できますか?あなたはそれはあなたが右クリックから入手コンテキストメニューのようなもののためだ、ここpopup-menu%を使用したくない

(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))) 
+1

[メーリングリスト](http: //racket-lang.org/community.html)GUIシステムを十分に知っている人が増えているからです。 –

答えて

1

は、ここに私の自己をよりよく説明するために少しの例です。代わりに、新しいウィンドウを作成するだけです(frame%)。frame%に提案を挿入するための適切なコールバックがあります。