Descrição
O tsizectrl é um componente V+LCL não visual, que permite redimensionar, selecionar e mover decadentes de TControl
Ao contrário da realização original, a versão atual suporta Delphi e Lazarus, por isso é inspirado na versão original de Angus Johnson, mas agora não é o mesmo que Legacy/Old Version :)
Características:
- Botões totalmente personalizáveis: você pode alterar a contagem (de 4 para 8), cor, tamanho, transparência, forma e se quiser - você pode definir a imagem do botão
- 5 tipos de forma: quadrado, círculo, rombus, triângulo e redondos
- Estrutura de seleção personalizável: Propriedade do MovePanelCanvas para acessar todas as telas de seleção de uma vez, com transparência (Brush.style: = BSclear) Suporte
- Propriedade do showframe para mostrar/ocultar o quadro de seleção
- MOVEPANELALFABLEND PROPRIEDADE PARA ESPECIFICAR CANNAL ALFA DO COMPLETO DO DIMENTO/SELEÇÃO
- MOVEPAPANELIMAGE Propriedade para definir a imagem do quadro de seleção
- Suporte tcustomforms: Quando o formulário é redimensionado com tsizectrl, ele não pode ser fechado ou maximizado/minimizado
- Suporte à grade, com propriedades: GridSize, ShowGrid, GridColor, GridColorContrast
- Opções de redimensionamento:
- Propriedade da Alignogrogrid - Align Controls to the Grid
- Aplicar a propriedade do Misizes - Ative para alterar o tamanho do objeto imediatamente
- Propriedade multitargetResize - para negar/permitir o redimensionamento de poucos alvos de uma só vez
- Restrições de propriedades para especificar tamanhos mínimos e máximos do objeto redimensível
- Propriedade moveonly para negar/permitir o redimensionamento de objetos
- Suporte de tag de objetos, para negar o objeto de selecionar
- Botões personalizáveis: cores ({preenchimento de conteúdo, borda}) e imagens para estados habilitados, pairados e deficientes
- Aplicar a propriedadesiza - para aplicar tamanhos ao objeto imediatamente
- Propriedade EditDisabled para permitir (ativar: = false)-> Edição de componentes desativados
- Diferentes estilos de botão de redimensionamento: nenhum (botões estão ocultos), botões (todos os botões são visíveis), linha, botão único
- Diferentes opções de ocultação de botão de redimensionamento: Nenhum (os botões são visíveis, mas estáticos), ocultar (os botões estão ocultos), mover (os botões serão movidos em caso de movimento, mas ocultos em caso de dimensionamento)
- Opções adicionais:
- Propriedades de alongamento fornecidas com todas as propriedades de imagens (tpicture), para especificar quais imagens você gostaria de armazenar no tamanho original
- Chaves de modificação personalizáveis (seleção, movimentação/dimensionamento, teclas de indicação alinhada)
- Eventos ONHOver para TsizeBtns (Dimensionamento/alças)
Limitações
Lázaro:- Atualmente, não suporta a propriedade MOVEPANELIMAGE
- Em algumas plataformas, ele não pode suportar alfa-transparência
Erros e bugs:
- Corrigidos erros comuns:
- Bug With Sizing Grid (ShowGrid) em controles não-térmicos
- Bug de seleção com o Form Focus (quando você tenta alterar o formulário, e o TSIZECTRL ainda lida com eventos)
- Bug de seleção com formulários (quando você tamanho, sua barra de legenda com botões de ação ainda está disponível, o que é meio irritante)
- Movendo bugs com buffer duplo habilitado
- Bug com tamanho BTN, quando objeto esquerdo+topo = diâmetro btn (tamanho)
- Bug com recursão no DEFWindowProc - FormWindowProc
- Bug com controle não atribuído, causado pela seleção de componentes de duração de tamanho
- Bug com cursor: às vezes não vai mudar, quando a mudança for iniciada (com TShape, por exemplo)
- Mover objeto com chaves, enquanto editá -lo por mouse, causa bugs de dimensionamento
- Bug com objetos invisíveis: nega visível, mas seleção de objetos superior
- Bugs modernos conhecidos:
- 1. Adicione suporte de seleção de objetos desativados [Lazarus]
Solução Possível: conectar todos os wndproces recursivos?
Quase planos:
- Novos recursos:
- 1. Alinhe com linhas (função, EF)
- 2. Detecte o polígono de controle para desenhar a forma para ajustar o formulário
- 3. Suporte (s) personalizado (s)
- 4. D/L CL CL Real Transparência Suporte rápido com o método de drawFocusRect e o tipo de foco, que pode especificar como desenhar o foco rect
- 5. Propriedade para ocultar o foco apenas ao redimensionar
- Refatorings:
- 1. Controle de inversão, quando seus tamanhos são muito pequenos (mudança de posição + redimensionamento)
- 2. Regenerar as configurações mais altas do quadro (adicione a propriedade Framentop, por exemplo, faça do pai do TmovePanel o mesmo que o pai tsizebtn, se necessário) [Delphi, Lazarus]
- 3. Ressimensionamento de limite quando o controle é inserido em alinhado ou quando o controle contém subctrls alinhados e desalinhados (Childs)