PDA

Ver la Versión Completa : Asignar una tecla de funcion a un componente


CoCaInE
19-06-2007, 02:11:01
Estoy realizando una aplicacion de loterias en la cual creo checkboxes en tiempo de ejecucion pero al crearlo quiero que se le asigne la tecla correspodiente a la loteria en la base de datos. tengo una tabla con dos campos , uno loteria y uno tecla, donde en loteria pongo las iniciales de la loteria y en tecla la tecla de funcion correspondiente, espero que me puedan ayudar en este caso como siempre.

Alcolea
19-06-2007, 04:24:10
No entiendo tu pregunta, pero cuando creas el componente le puedes asignar el valor que quieras a las propiedades e incluso a los eventos.



var
Form1: TForm1;
CheckBoxes : array[0..4]of TCheckBox;
implementation

procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin

for i := 0 to 4 do
begin
CheckBoxes[i] := TCheckBox.Create(self);
CheckBoxes[i].Parent := self;
CheckBoxes[i].Caption := 'La &cosa';
CheckBoxes[i].Checked := True;
CheckBoxes[i].Top := i * 30;
CheckBoxes[i].Left := 40;
end;

end;

Lepe
19-06-2007, 10:05:08
Para ese menester, usa un TActionList (tiene la propiedad ShortCut) y permite asignar cualquier combinación de teclas.

Después al componente recien creado, le asignas el Action correspondiente:

checkbox1.Action := Action1

Propiedades como el Caption las asignas al Action, ya que al ejecutar esa línea todas las propiedades del Action se asignan al Checkbox automáticamente (Caption, Hint, Onclick, etc).

Para guardar en la base de datos la tecla rápida asignada, puedes usar ShortCutToText y TextToShortcut de la unidad Menus.pas

Saludos