Como detectar item do ListBox sem selecionar?

Delphi

26/12/2003

Olá Pessoal!

Apenas colocando o ponteiro do mouse sobre um item qualquer de um ListBox, sem clicar nele e sem que ele já esteja selecionado, existe alguma maneira de detectar qual é este item?

Ex.:
Suponha um ListBox com os itens Banana, Maçã e Laranja e nenhum deles selecionado. Apenas passando o ponteiro do mouse sobre qualquer destes itens (sem clicar) dá pra saber qual é?

Valeu!
wbb


Wbb

Wbb

Curtidas 0

Respostas

Beppe

Beppe

26/12/2003

Usa esse trecho:
var
  Item: Integer;
begin
  Item := ListBox1.ItemAtPos(Point(X, Y), True);
  if Item >= 0 then
  begin
    // caption recebe o texto do item sob o mouse
    Caption := ListBox1.Items[Item];
  end
  else
  begin
    // o mouse paira sobre nenhum item
    Caption := ´´;
  end;
end;



GOSTEI 0
Pain_elemental

Pain_elemental

26/12/2003

usa o codigo abaixo no evento OnMouseMove do ListBox

procedure TfrmManager.ListBox1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  TheIndex: Integer;
begin
  if not (Sender is TListBox) then exit;
  // O último parâmetro (booleano) indica se você quer que retorne
  // -1 (True) ou o índice do último item (False) quando o mouse não
  // estiver sobre item algum.      
  TheIndex := TListBox(Sender).ItemAtPos(Point(X, Y), True);
  // Faça o que quiser com a TheIndex
end;



GOSTEI 0
Wbb

Wbb

26/12/2003

Valeu pain_elemental e Beppe!
Funcionou. Obrigado pela ajuda.

T+
wbb


GOSTEI 0
POSTAR