Tecla de atalho no PageControl?
30/11/2005
0
Sou iniciante em programação. Em um PageControl, quando a TabPosition é tpTop coloco a Caption da TabSheet=&Título e tenho uma tecla de atalho...(o T aparece sublinhado e posso usar ALT+T).
Só que eu preciso que a TabPosition seja tpLeft...Daí, a Caption fica sem a minha tecla de atalho, pois aparece exatamente o texto digitado:´&Título´.
Alguém poderia me ajudar a colocar uma tecla de atalho em uma TabSheet, quando a TabPosition=tbLeft?
Obrigada...
Susana :roll:
Susi
Posts
30/11/2005
Jairroberto
A solução mais simples que vejo é usar uma ActionList, incluindo uma ação para selecionar cada TabSheet, definindo o ´ShortCut´ desejado para cada ação. Veja um exemplo:
Defina em tempo de design, no ObjectInspector:
ActionTabTitulo.ShortCut := ´Alt+T´;
ActionTabTitulo.Tag := 0;
ActionTabTitulo.OnExecute := ActionTabTituloExecute;
ActionTabExemplo.ShortCut := ´Alt+E´;
ActionTabExemplo.Tag := 1;
ActionTabExemplo.OnExecute := ActionTabTituloExecute;
Use o código adequado para selecionar a tab vinculada à ação:
procedure TForm1.ActionTabTituloExecute(Sender: TObject);
begin
PageControl1.ActivePageIndex := TComponent(Sender).Tag;
end;
Observe que para que os ShortCuts funcionem, não é necessário que a Action esteja vinculada a nenhum botão ou item de menu.
Um abraço,
Jair
30/11/2005
Susi
Vc postou:
[color=orange:81b90bcac5]A solução mais simples que vejo é usar uma ActionList, incluindo uma ação para selecionar cada TabSheet, definindo o ´ShortCut´ desejado para cada ação. Veja um exemplo:
Defina em tempo de design, no ObjectInspector:
ActionTabTitulo.ShortCut := ´Alt+T´;
ActionTabTitulo.Tag := 0;
ActionTabTitulo.OnExecute := ActionTabTituloExecute;
ActionTabExemplo.ShortCut := ´Alt+E´;
ActionTabExemplo.Tag := 1;
ActionTabExemplo.OnExecute := ActionTabTituloExecute;[/color:81b90bcac5]
Sou realmente iniciante, e não entendi aonde devo colocar as definições acima.... é em algum evento da Action List???
Desde já agradeço a ´paciência´...
Outro abraço p/vc.
Susana :oops:
30/11/2005
Jairroberto
Tudo bem... vou tentar ir mais devagar. No exemplo que dei, ´ActionTabTitulo´ e ´ActionTabExemplo´ são objetos do tipo ´TAction´, aqueles que são criados quando você clica duas vezes na ActionList e clica no botão ´New Action´.
A idéia seria criar um objeto Action para cada TabSheet do ´PageControl1´ que usei também no exemplo.
A propriedade Tag da cada Action corresponderia ao PageIndex de cada TabSheet para facilitar a codificação e centralizar o procedimento de navegação pelas TabSheets, conforme demonstrado no exemplo de código para evento ´OnExecute´ das Actions.
Esperto não ter complicado mais ainda. :wink:
Um abraço,
Jair
30/11/2005
Susi
Aumentei + um pouco meus pequenos conhecimentos em Delphi.
Nunca tinha usado este componente ActionList. Por isso minha ´ignorância´...
Mas deu certo....
Brigadão!!!
Susana. :D :D :D
Clique aqui para fazer login e interagir na Comunidade :)