I was able to define accelerators that solved the Tab and Escape key
problems. In case this helps others, I am pasting relevant code below.
Please forgive the lack of formatting: I happen to be blind and find
indentation more of a hindrance than a help with my talking computer
system. =20
Regards,
Jamal
Win32::GUI->import(qw(ES_WANTRETURN GW_HWNDNEXT GW_HWNDPREV GW_HWNDLAST
GW_HWNDFIRST));
package Win32::GUI;
sub Tab {
my $Focus =3D GetFocus();
my $Next =3D GetWindow($Focus, GW_HWNDNEXT);
$Next =3D GetWindow($Focus, GW_HWNDFIRST) unless $Next;
SetFocus($Next);
return 1;
}
sub ShiftTab {
my $Focus =3D GetFocus();
my $Prev =3D GetWindow($Focus, GW_HWNDPREV);
$Prev =3D GetWindow($Focus, GW_HWNDLAST) unless $Prev;
SetFocus($Prev);
return 1;
}
my $Keyboard =3D Win32::GUI::AcceleratorTable->new(Escape =3D> sub {-1}, =
Tab
=3D> \&Tab, 'Shift+Tab' =3D> \&ShiftTab);
my $Dlg =3D Win32::GUI::Window->new(-name =3D> 'Dlg', -title =3D> $p1, =
-width
=3D> 434, -height =3D> 483, -dialogui =3D> 1, -accel =3D> $Keyboard,
-onTerminate =3D> sub {-1});
|