我需要输入控件在收到焦点时自动选择所有文本。如果您运行代码并按 Tab 在两个控件之间切换焦点,则会自动选择控件中的所有文本。使用鼠标选择另一个控件时,我需要相同的行为。我的问题是:用鼠标单击条目控件时会发出什么 GTK 事件?
import Graphics.UI.Gtk
main :: IO ()
main = do
initGUI
vbox <- vBoxNew False 4
window <- windowNew
set window [ containerBorderWidth := 8,
containerChild := vbox ]
mkEntry "Entry 1" vbox
mkEntry "Entry 2" vbox
onDestroy window mainQuit
widgetShowAll window
mainGUI
mkEntry :: String -> VBox -> IO Entry
mkEntry txt vbox = do
entry <- entryNew
entrySetText entry txt
boxPackStart vbox entry PackNatural 0
-- selects all text when tabbing into the control
entry `on` entryActivate $ do editableSelectRegion entry 0 (-1)
return entry