Saltar para o conteúdo principal
Versão: v18

Separador

Visão Geral

A splitter divides a form into two areas, allowing the user to enlarge and reduce the areas by moving the splitter one way or the other. Um repartidor pode ser horizontal ou vertical. The splitter takes into account each object’s resizing properties, which means that you can completely customize your database’s interface. Um separador pode ou não ser um "empurrador."

O divisor é usado, por exemplo, em formulários de saída para que as colunas possam ser redimensionadas:

Algumas das características gerais do repartidor:

  • You can place as many splitters as you want in any type of form and use a mixture of horizontal and vertical splitters in the same form.
  • Um separador pode passar por um objeto. Este objeto será redimensionado quando o divisor for movido.
  • Splitter stops are calculated so that the objects moved remain entirely visible in the form or do not pass under/next to another splitter. When the Pusher property is associated with a splitter, its movement to the right or downward does not encounter any stops.
  • If you resize a form using a splitter, the new dimensions of the form are saved only while the form is being displayed. Quando um formulário é fechado, as dimensões iniciais são restauradas.

Uma vez inserido, o separador aparece como uma linha. Pode modificar o seu estilo de contorno para obter uma linha mais fina ou alterar a sua cor.

JSON Exemplo

"mySplitter": {
"type": "splitter",
"left": 60,
"top": 160,
"width": 100,
"height": 20,
"splitterMode": "move" //pusher
}

Propriedades compatíveis

Border Line Style - Bold - Bottom - Class - Font - Font Color - Height - Help Tip - Horizontal Sizing - Italic - Left - Line Color - Object Name - Pusher - Right - Title -Top - Type - Underline - Vertical Sizing - Variable or Expression - Visibility - Width

Interação com as propriedades dos objetos vizinhos

Num formulário, os separadores interagem com os objetos que estão à sua volta conforme as opções de redimensionamento desses objetos:

Opções de redimensionamento para os objetosObjeto(s) acima de um separador horizontal ou à esquerda de um separador vertical (1)Objeto(s) abaixo de um separador horizontal non-Pusher ou à direita de um separador vertical non-PusherObjeto(s) abaixo de um separador horizontal Pusher ou à direita de um divisor vertical Pusher
NenhumManter-se como estáSão deslocados com o separador (a posição relativa ao separador não é modificada) até à paragem seguinte. A paragem quando se desloca para baixo ou para a direita é o limite da janela ou outro divisor.São movidos com o divisor (a posição relativa ao divisor não é modificada) indefinidamente. Não é aplicada qualquer paragem (ver parágrafo seguinte)
RedimensionarMantêm a(s) posição(ões) original(ais), mas são redimensionadas conforme a nova posição do separador
MoverMover-se com o separador

(1) Não é possível arrastar o divisor para além do lado direito (horizontal) ou inferior (vertical) de um objeto situado nesta posição.

Um objeto completamente contido no retângulo que define o divisor é movido enquanto o divisor.

Gestão programada dos separadores

Pode associar um método objeto a um separador e este será chamado com o evento On Clicked durante todo o movimento.

Uma variável do tipo Longint está associada a cada divisor. Esta variável pode ser utilizada nos seus métodos objeto e/ou formulário. Its value indicates the splitter’s current position, in pixels, in relation to its initial position.

  • If the value is negative: the splitter was moved toward the top or toward the left,
  • If the value is positive: the splitter was moved toward the bottom or toward the right,
  • Se o valor for 0: o divisor foi movido para a sua posição original.

You can also move the splitter programmatically: you just have to set the value of the associated variable. For example, if a vertical splitter is associated with a variable named split1, and if you execute the following statement: split1:=-10, the splitter will be moved 10 pixels to the left — as if the user did it manually. The move is actually performed at the end of the execution of the form or object method containing the statement.