Fórum Mostrar linhas e Colunas Atualizadas de um MEMO #178483
29/08/2003
0
Olá Pessoal,
estou com dificuldades em atualizar a posição do cursor (linha e coluna) quando o movimento pelas setas. Coloquei as linhas abaixo no evento ONMOUSEMOVE mas como era de esperar, não deu certo. Atualiza somente com o movimento do mouse sobre o MEMO. Testei nos outros eventos mais também sem sucesso.
With Memo do
begin
linha:= Perform(EM_LINEFROMCHAR,SelStart, 0);
coluna:= SelStart - Perform(EM_LINEINDEX,linha, 0);
StatusBar1.Panels[0].Text:=´Linha: ´+inttostr(linha+1);
StatusBar1.Panels[1].Text:=´Coluna: ´+inttostr(coluna);
end;
estou com dificuldades em atualizar a posição do cursor (linha e coluna) quando o movimento pelas setas. Coloquei as linhas abaixo no evento ONMOUSEMOVE mas como era de esperar, não deu certo. Atualiza somente com o movimento do mouse sobre o MEMO. Testei nos outros eventos mais também sem sucesso.
With Memo do
begin
linha:= Perform(EM_LINEFROMCHAR,SelStart, 0);
coluna:= SelStart - Perform(EM_LINEINDEX,linha, 0);
StatusBar1.Panels[0].Text:=´Linha: ´+inttostr(linha+1);
StatusBar1.Panels[1].Text:=´Coluna: ´+inttostr(coluna);
end;
@nht@
Curtir tópico
+ 0
Responder
Posts
29/08/2003
Carnette
Faz o seguinte..
Coloque dentro do evento ONCHAGE do memo
procedure TForm1.MemoChange(Sender: TObject);
var
linha, coluna : integer;
begin
With Memo do
begin
linha:= Perform(EM_LINEFROMCHAR,SelStart, 0);
coluna:= SelStart - Perform(EM_LINEINDEX,linha, 0);
StatusBar1.Panels[0].Text:=´Linha: ´+inttostr(linha+1);
StatusBar1.Panels[1].Text:=´Coluna: ´+inttostr(coluna);
end;
e no evento ONKEYDONW do memo
procedure TForm1.MemoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
MemoChange(Sender);
end;
boa programação
Coloque dentro do evento ONCHAGE do memo
procedure TForm1.MemoChange(Sender: TObject);
var
linha, coluna : integer;
begin
With Memo do
begin
linha:= Perform(EM_LINEFROMCHAR,SelStart, 0);
coluna:= SelStart - Perform(EM_LINEINDEX,linha, 0);
StatusBar1.Panels[0].Text:=´Linha: ´+inttostr(linha+1);
StatusBar1.Panels[1].Text:=´Coluna: ´+inttostr(coluna);
end;
e no evento ONKEYDONW do memo
procedure TForm1.MemoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
MemoChange(Sender);
end;
boa programação
Responder
Gostei + 0
29/08/2003
@nht@
Valew Carnette pela ajuda. 100¬ bacana.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)