Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Teclas Aceleradoras En Submenu
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Teclas Aceleradoras En Submenu 
 
Hola, estoy intentando hacer un Menu por codigo, el cual se crea en una clase, que llaman los formularios al abrir y que añaden este menu al formulario que la instancia. Todo funciona menos las teclas de acceso a las opciones tipo <ctrl+Home>. Es la propiedad shortcut de los menus, pero no se como se representa cada tecla.

Alguien habra creado un menu asi y sabra como se debe codificar, Verdad?.

Agradecido de antemano, un abrazo a todos.

Capa, muchas gracias por acordarte del cumple. Realmente casi nadie no mi cercano, se acuerda por las fechas que son. Cuando cumples el 31 de Diciembre, todo el mundo te felicita la navidad y el año nuevo, pero el cumple.....
 



 
ahtonio - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Teclas Aceleradoras En Submenu 
 
De lo de los Shortcuts no puedo ayudarte, pero quería felicitarte aunque fuera con retraso!

Salu2, crack, y felicidades de nuevo!
 



 
Ender - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Teclas Aceleradoras En Submenu 
 
Me respondo, para que sirva a alguien.
He buscado en los fuentes de Gambas2, y en el diseñador de menus esta este codigo:

PRIVATE SUB LoadShortcut()

  DIM iInd AS Integer

  cmbShortcut.Add("(None)")
  
  FOR iInd = Asc("A") TO Asc("Z")
    cmbShortcut.Add(Chr$(iInd))
  NEXT

  FOR iInd = 1 TO 12
    cmbShortcut.Add("F" & CStr(iInd))
  NEXT
  
  cmbShortcut.Add("Backspace")
  cmbShortcut.Add("Del")
  cmbShortcut.Add("Down")
  cmbShortcut.Add("End")
  cmbShortcut.Add("Enter")
  cmbShortcut.Add("Esc")
  cmbShortcut.Add("Home")
  cmbShortcut.Add("Ins")
  cmbShortcut.Add("Left")
  cmbShortCut.Add("Pause")
  cmbShortcut.Add("PgDown")
  cmbShortcut.Add("PgUp")
  cmbShortcut.Add("Return")
  cmbShortcut.Add("Space")
  cmbShortcut.Add("Right")
  cmbShortcut.Add("Up")

END

Lo puedes encontrar en
/usr/src/gambas2-2.17.0/app/src/gambas2/FMenu.class

Tirando del hilo y haciendo pruebas, es tan sencillo como

PUBLIC SUB Form_Open()
DIM op AS Menu
DIM subop1 AS Menu
DIM subop2 AS Menu
DIM subop3 AS Menu
DIM subsep AS Menu
  ME.Center
  ME.Title = "Formulario de prueba para MENU"
  op = NEW Menu(ME)
  op.Caption = "&Navegacion"
  subop1 = NEW Menu(op) AS "abrir"
  subop1.Text = "&Abrir"
  subop1.Shortcut = "F6"
  subop2 = NEW Menu(op) AS "editar"
  subop2.Text = "&Editar"
  subop2.Shortcut = "F2"
  subsep = NEW Menu(op) AS "sep"
  subsep.Text = ""
  subop3 = NEW Menu(op) AS "salir"
  subop3.Text = "&Cerrar aplicacion"
  subop3.Shortcut = "F3"
  Label1.Caption = "No se ha pulsado todavia ninguna opcion del menu"
  
END

Si queremos usar combinaciones de teclas hay que usar 'Alt+ , 'Shift+ ,'Ctrl+ , y la tecla que queramos sin espacios entre el + y la tecla elegida.
En lugar que el anterior codigo encontramos la clase CMenu.class con este codigo:

PUBLIC SUB SetShortcut(sShortcut AS String)

  DO

    IF UCase(Left$(sShortcut, 5)) = "CTRL+" THEN
      Ctrl = TRUE
      sShortcut = Mid$(sShortcut, 6)
      CONTINUE
    ENDIF

    IF UCase(Left$(sShortcut, 6)) = "SHIFT+" THEN
      Shift = TRUE
      sShortcut = Mid$(sShortcut, 7)
      CONTINUE
    ENDIF

    IF UCase(Left$(sShortcut, 4)) = "ALT+" THEN
      Alt = TRUE
      sShortcut = Mid$(sShortcut, 5)
      CONTINUE
    ENDIF

    Shortcut = sShortcut
    RETURN

  LOOP

END

No he probado todas las posibles teclas  que se puedan ocurrir, no obstante es cuestion de acertar con el String adecuado. Las mas normales ya veis que son faciles.

Un saludo para todos.
 



 
ahtonio - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Crear Submenu Ubuntu KK General 2 Jueves, 24 Diciembre 2009, 19:08 Ver último mensaje
nrcefe
No hay nuevos mensajes Referenciar Opcion De Submenu ahtonio General 3 Miercoles, 30 Diciembre 2009, 13:18 Ver último mensaje
ahtonio
No hay nuevos mensajes Asignar Teclas A Botones kotonfree Controles/Librerías/Componentes 8 Lunes, 13 Diciembre 2010, 23:04 Ver último mensaje
kotonfree
No hay nuevos mensajes Combinacion De Teclas tomas General 3 Viernes, 23 May 2014, 17:41 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron