Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Problema al cambiar de foco con intro. (https://www.clubdelphi.com/foros/showthread.php?t=1548)

BECERRA 18-06-2003 18:36:26

Problema al cambiar de foco con intro.
 
Hola amigos, ¿sabría decirme alguien porque al ejecutar este código en el onkeypress de un form el speaker del pc emite un pitido?, es algo muy extraño.
Esta función cambia el foco cada vez que pulso la tecla intro siempre y cuando no este posicionado en un botón. Por lo tanto resulta bastante pesado escuchar el pitido en cada acción.


if (Fprincipal.ActiveMDIChild.ActiveControl.classname <> 'TBitbtn') and (Fprincipal.ActiveMDIChild.ActiveControl.classname <> 'TButton') and (Fprincipal.ActiveMDIChild.ActiveControl.classname <> 'SpeedButton') and (key=#13) then perform(WM_NEXTDLGCTL,0,0);

delphi.com.ar 18-06-2003 18:43:34

Asíngale #0 al Key!

Bacterion 19-06-2003 12:53:21

ya de paso, para conocer si el control es un boton o lo que toque, ¿porqué comoparas por el nombre disponiendo del tipo?

(Fprincipal.ActiveMDIChild.ActiveControl.classname <> 'TButton')

se puede sustituir por
(Fprincipal.ActiveMDIChild.ActiveControl is TButton)
con lo que encima funcionará para cualquier componente que herede de TButton. Y si te pones a refinar un poco más (la herencia sirve para muchas cosas)...
Resulta que TBitBtn y TButton heredan de TButtonControl con lo que eliminas una de las condiciones...
...y resulta que SpeedButton no existe como clase. Sí TSpeedButton.


La franja horaria es GMT +2. Ahora son las 15:11:47.

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