Selección / resaltado de botón predeterminado en la ventana modal¿Es posible configurar un botón específico como botón seleccionado en la ventana modal para permitir el uso de ese botón con la tecla enter / espacio?
En el script de ejemplo que agregué, me gustaría que la selección predeterminada sea el botón "Aceptar" de la ventana modal, pero de manera predeterminada está configurado como la primera selección del cuadro de radio (en este caso, "Opción 1") y no he imaginado saber cómo cambiarlo. Logré hacer esto creando un botón falso como primer elemento en la nueva ventana (seleccionado de forma predeterminada) que hace clic en el botón Aceptar, pero creo que esta es una forma un poco engañosa de hacer que funcione (comentado en el script de ejemplo).
Names Default To Here(1);
okPushed = 0;
nw = New Window("Modal window", << modal, Show toolbars(0), Show menu(0),
//fakebutton = Button Box(" ",<< Style("underline"), << set function(ok_button << click)),
rb = Radio Box(
{"Option 1", "Option 2"}, << Set(2)
),
Panelbox("Actions",
Hlistbox(
ok_button = button box("OK", okPushed = 1; sel = rb << get selected),
cancel_button = button box("Cancel", okPushed = 0; stop();),
)
),
);
if(okPushed == 0, stop());
show(sel);
ScriptingRe: selección de botón predeterminado / resaltado en ventana modal¿Puedes poner el botón Aceptar en la parte superior de la ventana?
Re: selección de botón predeterminado / resaltado en ventana modalsi ... aqui hay un ejemplo
Names Default To Here( 1 );
nw = New Window("At the Top", << modal,
v list box(
button box("OK", nw << close window ),
spacer box(size(0,25)),
text box(" at the bottom")
)
)
Re: selección de botón predeterminado / resaltado en ventana modalMover los botones hacia la parte superior podría ser una opción para evitar agregar un botón vacío en la parte superior.
Probando rápidamente, parece que si no hago modal la Nueva ventana, al presionar la tecla Intro, presionaré el botón OK en lugar de la primera opción de botones de radio.
Names Default To Here(1);
okPushed = 0;
nw = New Window("Modal window", Show toolbars(0), Show menu(0),
rb = Radio Box(
{"Option 1", "Option 2"}, << Set(2)
),
Panelbox("Actions",
Hlistbox(
ok_button = button box("OK", okPushed = 1; sel = rb << get selected; nw << close window;),
cancel_button = button box("Cancel", okPushed = 0; nw << close window;)
)
),
);
nw << on close(
if(okPushed == 0, show(sel, okPushed); stop(),
show(sel, okPushed);
);
);
Re: selección de botón predeterminado / resaltado en ventana modalActualmente usando la misma solución que se menciona en el mensaje de apertura con fakebutton:
Names Default To Here(1);
okPushed = 0;
nw = New Window("Modal window", << modal, Show toolbars(0), Show menu(0),
fakebutton = Button Box(" ",<< Style("underline"), << set function(ok_button << click)),
rb = Radio Box(
{"Option 1", "Option 2"}, << Set(2)
),
Panelbox("Actions",
Hlistbox(
ok_button = button box("OK", okPushed = 1; sel = rb << get selected),
cancel_button = button box("Cancel", okPushed = 0; stop();),
)
),
);
if(okPushed == 0, stop());
show(sel);Además, algo similar a esto probablemente podría usarse como una solución alternativa Establecer foco en el cuadro de edición de texto
También se creó un nuevo deseo: Permitir que << SetFocus se utilice con elementos de visualización interactivos (TextEditBox, Button ...)