Octavian Rasnita wrote:

  Hi,

I've seen that my program works, but the CheckListBox is not very accessible for screen readers and this might be due to how wxWidgets were compiled.

  I doubt that: in wxWidgets under Win32 a wxCheckListBox is an
owner-drawn control and there is no special support for accessibility
that I can see.

I also asked on another mailing list, and a list member told me:

"When you were compiling wxWidgets, did you enable the accessibility flag? You can do this in one of two ways.
1.  remove the comment that says "enable accessibility" in wx.h
2. If you are building wxWidgets with MinGW, you can add the accessibility flag to the build command
make -f makefile.gcc accessibility=1
or if you are using Msys you could add the flag like so
--enable access
to your other command flags."

Well, I have also installed WxPerl and Alien::wxWidgets from WxPerl repository and I don't know if those flags were used to compile wxWidgets.

So the checkboxes work fine, but the screen reader can't detect if they are on or off when arrowing up or down the list. That's why I thought that they are not displayed.

I don't know if compiling wxWidgets with those flags would make CheckListBoxes more accessible, but they should be if wxWidgets uses the standard Windows control, because the same control is very accessible when using Win32::GUI, and it also uses the standard Win32 controls.

  I think Win32::GUI might be using a different native control
(a ListView with LVS_EX_CHECKBOXES style).

Does anyone know if wxWidgets were compiled using those flags I told about above?

  wxPerl was not compiled with those flags, but I doubt it would help
in your case.  I will enable it for the next Alien::wxWidgets release
just in case.

Regards,
Mattia

----- Original Message ----- From: "Huub Peters" <[EMAIL PROTECTED]>
To: "Octavian Rasnita" <[EMAIL PROTECTED]>
Cc: <wxperl-users@perl.org>
Sent: Monday, August 18, 2008 2:36 PM
Subject: Re: Wx::CheckListBox under Windows


Octavian Rasnita wrote:
I need to use a Wx::CheckListBox under Windows, but it doesn't seem to work. I've tried:

$self->rss_sources(Wx::CheckListBox->new($self, -1, [20, 50], [300, 300]));

but it creates just a common Wx::ListBox that doesn't have check boxes.
This works for me on all platforms:
$self->{list_box_Permissions} = Wx::CheckListBox->new($self->{notebook_1_pane_2}, -1, wxDefaultPosition, wxDefaultSize, [], wxLB_NEEDED_SB);
$self->{list_box_Permissions}->Append("item_1");
$self->{list_box_Permissions}->Append("item_2");
$self->{list_box_Permissions}->Append("item_3");

I have also tried to use

$self->rss_sources->Check(1, 1);

but it doesn't do anything. No check box appears, and no error is given.

In the .chm manual I've read:

"When using this class under Windows wxWidgets must be compiled with USE_OWNER_DRAWN set to 1."

but unfortunately I don't know how to do that. Is the WxPerl version which can be installed with ppm using that compilation option?

On windows I'm using ActiveState perl 5.10.0 and installed the PPM's from http://wxperl.co.uk repository:
wxPerl: 0.85
wxWidgets: wxWidgets 2.8.8

Also note there's a working example in the Wx::Demo
Or maybe there is another problem?

Possible, but I suspect a simple syntax error somewhere.

Cheers,

Huub

Reply via email to