Tecla de atalho no PageControl?

30/11/2005

0

Olá....

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

Susi

Responder

Posts

30/11/2005

Jairroberto

Olá, Susi!

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


Responder

30/11/2005

Susi

Olá, Jair,

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:


Responder

30/11/2005

Jairroberto

Olá, Susi!

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


Responder

30/11/2005

Susi

Valeu, Jair!!!

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


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar