所以我在这里有一个简单的设置,我制作一个按钮,在上面放置一个位图和一些文本,然后连接一个事件处理程序。
@scanButton = Wx::Button.new(self, -1, '', @@SCAN_BUTTON_POS, :size => @@SCAN_BUTTON_SIZE)
@scanBitmap = Wx::StaticBitmap.new(@scanButton, -1, bitmap, @@SCAN_BITMAP_POS)
@scanHint = Wx::StaticText.new(@scanButton, -1, 'Scan', @@SCAN_HINT_POS, :style => Wx::ALIGN_CENTER)
您会认为这里的默认行为是在按钮上的任意位置单击,即使它是在文本或位图上(因为它们是静态/不可聚焦的),也会将事件转发到父级(按钮)并且该按钮将被单击。
相反,单击静态文本/静态位图边界之外的按钮是单击按钮的唯一方法。单击位图或文本无效。我尝试将位图/文本中的事件转发到父级,但这也无法正常工作。有没有人有什么建议?也许有一些我不知道的 wxWidgets 的默认行为?