Hola:
Gracias aun amigo que no tiene nada que ver con programación, descubrí algunas cosas, las anoto pude quele sirva a alguno de uds,
Notas:
1). El area de menu no debiera cubrir el area de las listbox, si vien d_menu_proc esta priemro en el array el campo h=600, pasa por sobre el area de los otros elementos BOX_Mapas, d_list_proc etc..., esto hace que se lleve el enfoque y se deba dar ESC, para salir del Menu.
2). Si en los procedimientos BOX_Mapas, y BOX_Tiles, estoy ocupando teclas como flechas, si las tomo en el MSG_XCHAR, dede retornarse el mensaje D_USED_CHAR, para evitar que las flechas arriba, abajo, se lleven el enfoque hacia d_list_proc, excepto en la tecla KEY_ESC, caso contrario retornar D_O_K.
3). Para leer la teclas ALT, desde d_keyboard_proc, la macro debiera ser:
#define ALTS_Key(X) ((X -'a' +1) << 8)
4). Alt+ Shift+D, por ahora no lo encontre pendiente....
ESB.
----- Original Message -----From: esbva2000Sent: Friday, August 15, 2003 12:25 PMSubject: [AL-ES] Una ConsultaHola:Necesito leer una tecla ALT_??? y ALT+Shift+???, pero desde el parametro d_keyboard_proc, de objetos gui, pero no encontre ningun ejemplo, he tratado con:#define ALTS_Sht(X) ((X << 8) & KB_SHIFT_FLAG)#define ALTS_Key(X) (X << 8)
#define CTRL_Key(X) (X - 'a' +1)DIALOG maindlg[] =
{
/* (proc) (x) (y) (w) (h) (fg) (bg) (key) (flags) (d1) (d2) (dp) (dp2) (dp3) */
{ d_clear_proc, 0, 0, 800, 600, 0, 46518, 0, 0, 0, 0, NULL, NULL, NULL },
{ d_menu_proc, 0, 0, 800, 600, 0, 46518, 0, 0, 0, 0, v(Principal), NULL, NULL },
{ BOX_Mapas, 8, 40, 616, 552, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL },
{ d_list_proc, 632, 16, 160, 40, 0, 65535, 0, D_CLOSE, 0, 0, v(LBTiles), NULL, NULL },
{ BOX_Tiles, 624, 56, 168, 536, 0, 21162, 0, 0, 0, 0, NULL, NULL, NULL },
{ BOX_Status, 8, 16, 616, 24, 0, 21162, 0, 0, 0, 0, NULL, NULL, NULL },
{ d_keyboard_proc, 0,0, 0, 0, 0, 0, CTRL_Key('x'), 0,0, 0, NULL, NULL, v(Salir)},
{ NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL }
};la macro CTRL_Key, funciona, pero como sería para leer ALT_D, ALT+SHIFT+D u otra cosa.gracias...ESB.
_______________________________________________
Para cancelar su subscripción envíe un email a:
allegro-espanol-unsubscribe@egroups.com
La utilización de Yahoo! Grupos está sujeta a su aceptación de las Condiciones del servicio así como de la Política de privacidad.