 |  | | Delphi - Uilizando o Enter ao invés do TAB em projetos CLX |
| |  |  |
Essa dica é para quem tem projetos CLX para utilizar em Linux ou Windows. |
|
1º - No evento OnShow do formulário principal coloque o seguinte código: Application.OnEvent := ApplicationEvent;
Esse código deve ser o último, caso você já tenha outros código no mesmo evento (OnShow)
2º - Suba até a seção "private" da unit
3º - Abaixo da palavra "private" coloque a seguinte linha, que irá criar um procedimento: procedure ApplicationEvent(Sender: QObjectH; Event: QEventH; var Handled: Boolean);
4º - Com o cursor do mouse posicionando na linha que você acabou de digitar, pressione as teclas CTRL+SHIFT+C Isso montará a estrutura do procedimento.
5º - Copie o código abaixo para o procedimento que você acabou de criar. Copie acima da linha Begin do procedimento pois o código abaixo cria uma variável.
Var CurrForm:TForm; begin if (QEvent_type(Event) = QEventType_keyPress) and (QKeyEvent_key(QkeyEventH(Event)) = KEY_RETURN) then begin if Screen.ActiveControl is TDBGrid then begin with TDBGrid(Screen.ActiveControl) do begin if SelectedIndex = Columns.Count-1 then begin SelectedIndex:=0; DataSource.DataSet.Next; end else SelectedIndex:=SelectedIndex+1; end; Handled:=True; end else if not (Screen.ActiveControl is TBitBtn) then if not (Screen.ActiveControl is TButton) then begin CurrForm:=Screen.ActiveForm; if Assigned(CurrForm) then THackForm(CurrForm).SelectNext(CurrForm.ActiveControl, True, True); Handled:=True; end else Handled:=False; end;
6º Na Cláusula Uses adicione: Qt, QDBGrids, QButtons;
7º Suba até a seção "public".
8º Abaixo da seção public tem um end; Posicione o cursor nessa linha e declare o objeto abaixo:
THackForm = class(TForm);
Esse código cria uma variável também do tipo formulário.
Pronto agora é só compilar e ver todos os seus formulários com o Enter funcionando como Tab em projetos CLX.
|