Fórum Para que o RadioGroup Receba o foco #288279
15/07/2005
0
O Problema que toda vez que ele recebe o foco , tenho que dar um[b:aad69096a7] tab [/b:aad69096a7]para que o [b:aad69096a7]ItemIndex[/b:aad69096a7] fique selecionado , pára que o usuário possa [b:aad69096a7]Usar as setas [/b:aad69096a7]para andar de um item ao Outro...Isto é uma situação extremamente desagradável , pois o usário muitas das vezes não sabe que tem que dar um tab.. Ta certo que ele pode selecionar os itens clicando com o mouse sobre o ItemIndex correspondente , mas to porgramando para um lugar com pouco espaco fisico e onde a programação sera digirida somente ao teclado com as respectivas teclas de atalho
Compare as duas figuras abaixo , na primeira o RadioGrop1 tem o foco , mas para que o suário mova entre os Itens (Item1 , item 2) ele tem que dau Um Tab
[URL=http://www.imageshack.us][img:aad69096a7]http://img344.imageshack.us/img344/3664/imagem1radiogroup19yb.jpg[/img:aad69096a7][/URL]
Gostaria que toda vez que o RadioGroup Recebesser o foco o ItemIndex Ja ficaria Selecionado.. Tipo esta figura abaixo
[URL=http://www.imageshack.us][img:aad69096a7]http://img344.imageshack.us/img344/1160/imagem2radiogroup15yv.jpg[/img:aad69096a7][/URL]
Note que nesta ultima figura o ItemIndex Ja esta circulado e pronto para Receber as Setas , para ir de um item ao outro..
Pronto é isso e muitpo obrigado.
Marco Salles
Curtir tópico
+ 0Posts
16/07/2005
Eduardo Pereira
[]´s
Eduardo Pereira
Gostei + 0
16/07/2005
Marco Salles
Mas muitas das vezes o problema é maior que uma dez linhas e com o passar do tempo a gente vai introduzindo outro conceitos
O que acontece de fato é fato é que ta envolvido na historia um edit
quando o item1 é selecionado , automaticamente ele manda o foco para o edit1... Numa instrução a seguir
procedure TForm1.RadioGroup1Click(Sender: TObject); begin Case RadioGroup1.ItemIndex of 0:begin Edit2.Enabled:=True; Edit2.Text:=´´; Edit2.SetFocus; //edit1 recebe o foco end; 1:begin edit2.Enabled:=False; edit2.TabStop:=false; end; end; end;
Funciona beleza , :P :P :P :P :P :P :P :P
[b:aabde67d9e]O Problema é retornar ao radioGroup do Edit1..[/b:aabde67d9e] :cry: :cry: :cry:
Alem de retornar , que o [b:aabde67d9e]itemIndex fique selecionado [/b:aabde67d9e]sem a necessidade de ter que dar um tab... :lol: :lol: :lol:
[b:aabde67d9e]No onexit do edit1 Escrevi o codigo a seguir[/b:aabde67d9e]
procedure TForm1.Edit2Exit(Sender: TObject); begin if edit2.Text = ´´ Then RadioGroup1.Setfocus; end;
o Foco vai para o RadioGroup 1 so que para o itemIndex ficar selecionado , é necessário ter que [b:aabde67d9e]dar um Tab [/b:aabde67d9e]... :cry: :cry: :cry:
Este que é o problema
:idea: :idea: :idea: :idea: :idea:
[color=darkred:aabde67d9e][b:aabde67d9e]Ja pensei em simular o pressionamento da tecla tab Usando a instruçaõ[/b:aabde67d9e][/color:aabde67d9e]
if edit2.Text = ´´ Then RadioGroup1.Setfocus; keybd_event(Vk_Tab,0, 0, 0); //--->>simular end;
:cry: :cry: :cry: :cry:
so que o foco neste caso vai para a [b:aabde67d9e]aba do TabSheet[/b:aabde67d9e]
:idea: :idea: :idea: :idea: :idea:
Pensei que pudesse [b:aabde67d9e]simular o Pressionamento [/b:aabde67d9e]de uma [color=darkred:aabde67d9e][b:aabde67d9e]tecla de atalho[/b:aabde67d9e][/color:aabde67d9e]
Por exemplo < Alt + Letra do Atalho > Usando a Intrução keybd_event
Por exemplo ::::::::::::
if edit2.Text = ´´ Then //Simular O Pressionamento de Alt + Tecla de atalho ***** end;
Mas esta instrução não estou conseguindo Formatar.. de forma correta :cry: :cry: :cry:
A Tecla do atalho no meu caso [b:aabde67d9e]Real[/b:aabde67d9e] estou usando é [color=darkred:aabde67d9e][b:aabde67d9e]u pequeno[/b:aabde67d9e][/color:aabde67d9e]
Selecionar F&uncionário :
Quero agradecer ao Eduardo Pereira a iniciativa tomada , e dizer que o problema é um pouquindo diferente , e eu gostaria de dizer que como eu ja escrevi vária linhas de codigo usando o radioGroup1 , no momento eu não gostaria de mudar... Gostaria sim de alguem que conseguisse formatar corretamente o pressionamento da Tecla de atalho seguido do Alt pressionado.. Sabemos que isto pode ser possível lendo o tópico a seguir:::
http://www.codeproject.com/system/keyboard.asp
So que não estou conseguindo :cry: :cry: :cry: :cry: :cry:
Gostei + 0
17/07/2005
Marco Salles
É , acho que consegue.... :P :P :P :P
if edit2.Text = ´´ Then keybd_event(VkKeyScan(´u´),38, 0, 0); //Simular O Pressionamento de Alt + Tecla de atalho ***** end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)