重新启用

时间:2019-04-08 16:31:12

标签: ruby button fxruby

我有一个老式的编程背景,但是对Ruby还是陌生的:对于一个Hangman游戏,我有通过FXDataTarget连接的A..Z按钮(设置为-1,因此不会自动选择第一个按钮)。在播放过程中,按下每个按钮均被禁用。要初始化新游戏,我重新启用每个按钮。除上一游戏的最后一个按钮突出显示并因此不可用(直到按下其他按钮)之外,其他一切都很好。我显然希望将所有按钮设置为加载时。

我尝试更改属性(buttonStyle和State);我已经尝试过killFocus;我什至尝试重新创建FXDataTarget。这些都不起作用。

@letterSel =FXDataTarget.new(-1)

letterBtns = {}
("A".."Z").each_with_index do |ltr, x|
   letterBtns[x] = FXButton.new(matrix, ltr, opts:FRAME_RAISED, target:@letterSel, selector:FXDataTarget::ID_OPTION+(x))
end

@letterSel.connect(SEL_COMMAND) do |sender, sel, data|
   ltr = letterBtns[data].text
   letterBtns[data].disable
end

newGameBtn.connect(SEL_COMMAND) do |sender, sel, data|
   matrix.each_child do |btn|
      btn.enable
      # And here is where I try manipulating the button's appearance/functionality
   end
end

1 个答案:

答案 0 :(得分:0)

好的,我有点傻-答案很明显!我需要做的就是将FXDataTarget值重新设置为-1:@ letterSel.value = -1

(我不知道如何将其标记为已解决)