Fórum Aplicativo clx #265130
12/01/2005
0
estou escrevendo um aplicativo em clx, pois minha ideia é migrar todos os sistemas da minha empresa para linux, e estou com uma duvida de como usar as setas para cima e para baixo e o enter para mudar o foco do cursor.
Devo usar diretamente o codigo ASCII direto
uso assim com vcl
If (Key = VK_RETURN) or (Key = VK_DOWN) then
begin
Perform(WM_NEXTDLGCTL,0,0);
Key := 0;
end
else
If Key = VK_UP then
begin
Perform(WM_NEXTDLGCTL,1,0);
end;
Uiliangurjon
Curtir tópico
+ 0Posts
13/01/2005
Dopi
Abra o arquivo Qt.pas do diretorio ($Delphi)\Source\clx e procure por key_
Esqueça o uso do Perform... não é possivel postar msg Windows na CLX...
para fazer o Enter se comportar como TAB insira o código abaixo no KeyPress do Edit
if Key = #13 then begin SelectNext( TWidgetControl( Sender ),true,true) ; Key := 0 ; end ;
No projeto ACBr criei o componente TACBrEnterTabCLX... basta inseri-lo em algum Form e ajustar a propriedade EnterAsTab para true, que todos os componentes se comportarão assim...
Gostei + 0
30/01/2005
Uiliangurjon
Valeu!!!
Gostei + 0
31/01/2005
Dopi
Você aplicou os Patchs NAO oficiais para a CLX ?
http://unvclx.sourceforge.net/
Sem eles a CLX é impraticavel de tantos Bugs...
Baixe eles aqui:
http://sourceforge.net/project/showfiles.php?group_id=106820&package_id=116130
arquivo: d7clxpatch.zip
Gostei + 0
31/01/2005
Gilbertoscruz
As teclas de atalho para CLX começam com KEY_ + tecla !
Não esqueça de adicionar na USES a unit QT para ativar os controle de tecla !
Exemplo:
no onkeydown do form coloque
case Key of
KEY_ENTER, KEY_RETURN: SelectNext(ActiveControl, True, True);
end;
KEY_ENTER, KEY_RETURN = ENTER
KEY_ESCAPE = ESQ
E assim vai !
Espero ter ajudado ! qualquer duvida me envia um e-mail !
falow
Gostei + 0
31/01/2005
Uiliangurjon
obrigado!!!!
Gostei + 0
01/04/2005
Uiliangurjon
usava o seguinte codigo na vcl
procedure TfrmPesquisa.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Odd(Item.Index) then
Listview1.Canvas.Brush.Color := clSilver
else
ListView1.Canvas.Brush.Color := clWhite;
end;
procedure TfrmPesquisa.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if Odd(Item.Index) then
Listview1.Canvas.Brush.Color := clSilver
else
ListView1.Canvas.Brush.Color := clWhite;
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)