버튼을 만들고 여기에 비트 맵 및 텍스트를 배치하고 이벤트 처리기를 연결하는 간단한 설정이 있습니다.버튼 차단 이벤트에 대한 StaticText/StaticBitmap
@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의 기본 동작이 있을까요?
비트 맵을 왼쪽으로 정렬하고 텍스트를 근처에 배치해야합니다. Wx :: BitmapButton에는 왼쪽 맞춤 옵션이 있지만이 옵션은 Windows에서만 작동하며 (docs에 따라) 플랫폼 불가지론을 유지해야합니다. 툴팁을 사용해 보았지만, 포커스가 항상없는 Google Sketchup에서 '최상위 유지'창을 만들었 기 때문에이 경우 작동하지 않습니다. 따라서 툴팁이 트리거되지 않습니다. 다소 두려운 특별한 경우입니다. – James