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. You can modify its border style to obtain a thinner line or change its color.
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 objetos | Objeto(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-Pusher | Objeto(s) abaixo de um separador horizontal Pusher ou à direita de um divisor vertical Pusher |
---|---|---|---|
Nenhum | Manter-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) |
Redimensionar | Mantêm a(s) posição(ões) original(ais), mas são redimensionadas conforme a nova posição do separador | ||
Mover | Mover-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.