- ラケットGUIライブラリを使用すると、表示されたときに親ウィンドウをアクティブ化できないという実際のモーダルダイアログを作成できないことがわかりました。
- ダイアログはその親のイベントスペースをブロックしますが、親ウィンドウのメニューバーをクリックできるため、同じダイアログを何度も表示できます。コードは次のとおりです。
#lang racket/gui
(define frame (new frame%
[label "test"]
[width 200]
[height 200]))
(define mb (new menu-bar% [parent frame]))
(let ([m (new menu%
[parent mb]
[label "&About"])])
(new menu-item%
[parent m]
[label "&About"]
[callback (lambda (b e) (message-box "About" "This is a test." frame))])
)
(send frame show #t)
(psメッセージボックスはダイアログをポップアップできます-と同じです(new dialog% [parent frame])
)
したがって、最初の質問を無視した場合、親のメニューバーを無効にするモーダルダイアログを表示できますか?
その上、ラケット/ GUIで実際のモーダルダイアログを作成することは本当に不可能ですか?
(私はWin7に取り組んでいます)