Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Capturar Desplazamiento en Mainmenu (https://www.clubdelphi.com/foros/showthread.php?t=70331)

c748a 14-10-2010 22:38:12

Capturar Desplazamiento en Mainmenu
 
Saludos
Me interesa capturar el desplazamiento en los distintos Items de un Mainmenu para poder, mediante un mensaje sonoro, informar en que item está. El desplazamiento se produce mendiante el teclado. La finalidad sería para que lo pueda usar una persona no vidente.
Desde ya muy agradecido.

Ñuño Martínez 15-10-2010 10:47:26

Cita:

Empezado por c748a (Mensaje 379328)
(...) La finalidad sería para que lo pueda usar una persona no vidente. (...)

No es necesario. Actualmente todos los buenos sistemas operativos incluyen ya facilidades para estos casos. En GNU/Linux basta con instalar un text-to-speech y configurar un par de variables para que "lea" el contenido de la pantalla pulsando ciertas combinaciones de teclas (Una combinación para que lea el título de la ventana activa, otra para las opciones del menú activo, etc.), aparte de existir controladores para lectores braille. Sé que MacOS también dispone de estas utilidades, y supongo que en Windows también existen, así que no es necesario que lo hagas.

Lo que deberías hacer es buscar información sobre cómo activar estas opciones y comprobar que tus programas no dan problemas. Hay páginas en Internet con consejos sobre diseño para que estos programas funcionen mejor. Sólo tienes que buscar un poquito.

c748a 15-10-2010 13:32:55

Muchas gracias por tu respuesta Ñuño, pero el problema es que la aplicación puede correr en distintas versiones de Windows (98 en adelante). Por eso la intención de no utilizar aplicaciones anexas (como el Jaws) o la utilidades de los sistemas operativos como bien tu describes. Te cuento que el proyecto es convertir a formato braille un texto y enviarlo por puerto paralelo para imprimirlo en braille en una impresora adaptada para tal efecto. Tanto la aplicación como la adaptación de la impresora es hecho por alumnos del último año de nivel secundario.
Saludos.

rgstuamigo 16-10-2010 17:01:55

Bueno lo que se ocurre es que captures el Mensaje WM_MENUSELECT del Menú.
He aquí un código Ejemplo >
Código Delphi [-]
type
  TForm1 = class(TForm)
...
...
  private
    { Private declarations }
  Procedure Capturando_Mensaje(var Msg:TMsg);message WM_MENUSELECT;//Declaro el procedure que captura el mensaje WM_MENUSELECT
  public
    { Public declarations }
  end;
Ahora en la Implementacion >
Código Delphi [-]
implementation

{$R *.dfm}

{ TForm1 }
...
...
procedure TForm1.Capturando_Mensaje(var Msg:TMsg);
begin
inherited;
   Windows.Beep(2000,100);//<-Emito un sonido en la CPU
end;
Si deseas solo emitir el sonido dada alguna específica condicion, pues puedes mirar toda la ayuda disponible en la pagína de Link anterior que te puse.;)
Saludos...:)

c748a 18-10-2010 16:15:26

Gracias, rgstuamigo, ya estoy trabajando con el código
Saludos


La franja horaria es GMT +2. Ahora son las 22:16:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi