0

アプリケーションを起動するときに、特定のボタンにフォーカスを設定したいと考えています。現在tab、ボタンをフォーカスするには 1 回押す必要があります。

wxwidgetsドキュメントには、で利用できないと思われるSetFocus方法 (リンク) が記載されていwxhaskellます。

その後、 MoveBeforeInTabOrderリンク)を見つけましたが、ここでも見つかりませんでしたwxhaskell

メンテナーは、2009 年の「かなり完全な GUI バインディング」であるとwxhaskell 述べています。

これが私の最小限の例です:

module Main where

import Graphics.UI.WX
import Graphics.UI.WXCore

main :: IO ()
main = start hello

hello :: IO ()
hello = do
  f <- frame []
  test <- button f [ text := "button" ]
  set f [ layout := widget test ]
4

1 に答える 1

1

wx ライブラリには、コントロールに集中できるfocusOn機能があります。

wxcoreのwindowSetFocus再輸出です。このタイプは少し誤解を招きます: と書かれていますが、ボタンもウィンドウでWindow aあるため機能します。

次の作品 (最後の行のみを追加したことに注意してください):

module Main where

import Graphics.UI.WX
import Graphics.UI.WXCore

main :: IO ()
main = start hello

hello :: IO ()
hello = do
  f <- frame []
  test <- button f [ text := "button" ]
  set f [ layout := widget test ]
  focusOn test                          -- Here!
于 2016-01-09T19:06:46.803 に答える