Set the background to a bitmap

Hi,

any ideas whether you can set the background of a dialog to use an
image?

I have a WxRuby app running on Windows and I want to try to port it to
the
new Ruby 1.9.1. I see wxruby-ruby19-1.9.8 gems for Darwin and Linux,
but
not for Windows. Is wxruby-ruby19-1.9.8 available for Windows yet? If
not,
when will it be available? And how stable is it?

Thanks,
Eric R.

John G. wrote:

any ideas whether you can set the background of a dialog to use an
image?

Use evt_erase_background, which is meant for this:
http://wxruby.rubyforge.org/doc/eraseevent.html

The example below just fills with colour, but you could replace the call
to gradient_fill_linear with one to DC#draw_bitmap or whatever other
drawing/painting code yoou wanted. Please, just don’t do anything as
eyesore as this …

alex
__
require ‘wx’

class BackgroundDialog < Wx::Dialog
def initialize(parent)
super(parent, :title => “dialog with background”)
Wx::TextCtrl.new(self, :value => ‘foo’, :pos => [ 50, 50 ])
evt_erase_background :on_erase_background
end

def on_erase_background(evt)
# Use the event’s DC object to draw whatever background you want
evt.dc.gradient_fill_linear( client_rect,
Wx::RED, Wx::BLACK, Wx::NORTH )
end
end

Wx::App.run do
frame = Wx::Frame.new(nil, :title => ‘frame’)
frame.show
BackgroundDialog.new(frame).show
end

Eric R. wrote:

I have a WxRuby app running on Windows and I want to try to port it to the
new Ruby 1.9.1. I see wxruby-ruby19-1.9.8 gems for Darwin and Linux, but
not for Windows. Is wxruby-ruby19-1.9.8 available for Windows yet? If not,
when will it be available?

We’ll definitely have a ruby19 gem available for Windows for the
upcoming 2.0 release (next week or so). Whether we offer both mingw and
mswin32 for Ruby 1.9.1 is not yet finalised, but in practice they’re
interchangeable. There will certainly be mingw as that’s the direction
the OCI is going in (for good reasons, IMHO).

And how stable is it?

Very. wxRuby has supported ruby 1.9 for a year now, and I switched over
mainline dev of my app to it a few months ago. There are also a lot of
changes in SVN HEAD which make it considerably more stable generally
than the current beta releaes, 1.9.9.

alex

Thanks Alex, I got the dialog to use a background image eventually, did
this with WxRuby 1.9.9 on Windows XP and it works (doesn’t on OSX, but
don’t need it to).

def initialize(title)

evt_erase_background :on_erase_background
end

def on_erase_background(evt)
b_splash_bmp = Wx::Bitmap.new(‘images/background.gif’,
BITMAP_TYPE_GIF)
evt.dc.draw_bitmap(b_splash_bmp, 0, 0, false)
end

Thanks again Alex, will give that a go tomorrow and see how things turn
out.

Appreciate this