Saltar para o conteúdo principal
Versão: Próximo

LISTBOX GET CELL COORDINATES

LISTBOX GET CELL COORDINATES ( {* ;} objeto ; coluna ; linha ; esquerda ; superior ; direita ; inferior )

ParâmetroTipoDescrição
*OperadorSe especificado = objeto é um nome de objeto (cadeia)
objetoanyNome de objeto (se * for especificado) ou variável (se * for omitido)
colunaIntegerNúmero de coluna
linhaIntegerNúmero de linha
esquerdaIntegerCoordenada esquerda do objeto
superiorIntegerCoordenada superior do objeto
direitaIntegerCoordenada direita do objeto
inferiorIntegerCoordenada inferior do objeto

Esse comando não é seguro para thread e não pode ser usado em código adequado.

Descrição

O comando LISTBOX GET CELL COORDINATES devolve nas variáveis ou campos esq, sup, dir e inf as coordenadas (em pontos) da célula designada pelos parâmetros coluna e linha, no list box definido por * e objeto.

Se passar o parâmetro opcional *, indica que o parâmetro objeto é um nome de objeto (uma cadeia). Se não passar o parâmetro opcional *, indica que o objeto é um campo ou uma variável. Neste caso, passa uma referência de campo ou variável (campo ou variável de tipo de objeto unicamente) em vez de uma cadeia.

Por coerência com o comando OBJECT GET COORDINATES, a origem é a esquina superior esquerda do formulário que contém a célula. Além disso, as coordenadas devolvidas são teóricas; que levam em conta o estado de deslocamento do list box antes de que ocorra qualquer recorte. Como resultado, a célula pode ser não visível (ou só parcialmente) em suas coordenadas, e estas coordenadas podem estar fora dos limites do formulário (ou inclusive negativas). Para saber se a célula é visível (e que parte dela é visível) é necessário comparar as coordenadas devolvidas com as coordenadas do listbox, levando em conta as seguintes regras:

  • Todas as células se cortam com as coordenadas de seu list box pai (como os devolvidos por OBJECT GET COORDINATES no list box).
  • Os Sub-objetos cabeçalho e rodapé de página se mostram sobre o conteúdo da coluna: quando as coordenadas de uma célula se cruzam as coordenadas das linhas de cabeçalho ou rodapé de página, a célula não é mostrada nesta interseção.
  • Os elementos das colunas bloqueadas são mostradas sobre os elementos das colunas deslocáveis: quando as coordenadas de um elemento em uma coluna deslocável cruzam as coordenadas de uma coluna bloqueada, então que não é mostrada nesta interseção.

Para mais informação, consulte a descrição do comando OBJECT GET COORDINATES.

Exemplo

Você quer desenhar um retângulo vermelho arredor da célula selecionada de um listbox:

 OBJECT SET VISIBLE(*;"RedRect";False) //inicializar um retângulo vermelho
  //o rectângulo é definido em algum lugar já sob a forma
 LISTBOX GET CELL POSITION(*;"LB1";$col;$row)
 LISTBOX GET CELL COORDINATES(*;"LB1";$col;$row;$x1;$y1;$x2;$y2)
 OBJECT SET VISIBLE(*;"RedRect";True)
 OBJECT SET COORDINATES(*;"RedRect";$x1;$y1;$x2;$y2)

Ver também

LISTBOX GET CELL POSITION
OBJECT GET COORDINATES