Description
Tsizectrl est un composant V + LCL non visuel, qui vous permet de redimensionner, de sélectionner et de déplacer les décadents TControl
Contrairement à la réalisation originale, la version actuelle prend en charge Delphi et Lazarus, il est donc inspiré de la version originale d'Angus Johnson, mais maintenant ce n'est pas la même chose que l'héritage / ancienne version :)
Caractéristiques:
- Boutons entièrement personnalisables: vous pouvez modifier le nombre (de 4 à 8), la couleur, la taille, la transparence, la forme et si vous le souhaitez - vous pouvez définir l'image du bouton
- 5 types de forme: carré, cercle, losange, triangle et rond
- Cadre de sélection personnalisable: Propriété MovePanelCanvas pour accéder à toutes les toiles de sélection à la fois, avec transparence (Brush.Style: = bsClear)
- Propriété ShowFrame pour afficher / masquer le cadre de sélection
- MOVEPANELALPHABLEnd Propriété pour spécifier l'alpha-canal du cadre de dimensionnement / sélection
- Propriété MovePanElimage pour définir l'image de la trame de sélection
- Prise en charge de TCustomForms: lorsque le formulaire est redimension
- Support de la grille, avec propriétés: gridSize, showgrid, gridcolor, gridcolorontrast
- Options de redimensionnement:
- AlignTogrid Propriété - Aligner les contrôles sur la grille
- Applique la propriété - Activer pour modifier la taille de l'objet immédiatement
- MultitArgetResize Property - pour nier / permettre le redimensionnement de quelques cibles à la fois
- Contraintes propriété pour spécifier des tailles minimales et maximales de l'objet résidante
- Propriété déplacée pour nier / permettre la redimensionnement d'un objet
- Support de balise d'objets, pour refuser l'objet dans la sélection
- Boutons personnalisables: couleurs ({remplissage de contenu, bordure}) et images pour les états activés, planés et désactivés
- Applique la propriété - pour appliquer des tailles à l'objet immédiatement
- Propriété EditDisabled pour autoriser (activé: = false) -> Édition des composants désactivés
- Différents styles de bouton de rediffusion: aucun (les boutons sont masqués), les boutons (tous les boutons sont visibles), ligne, bouton unique
- Différentes options de masculir le bouton de rediffusion: aucun (les boutons sont visibles, mais statiques), la masque (les boutons sont cachés), se déplacer (les boutons seront déplacés en cas de déplacement, mais caché en cas de dimensionnement)
- Options supplémentaires:
- Propriétés d'étirement fournies avec toutes les propriétés d'image (tpicture), pour spécifier quelles images que vous souhaitez stocker dans la taille d'origine
- Clés de modification personnalisables (sélection de touches, de déménagement / dimensionnement, d'alignement)
- Événements Onhover pour TSIZEBTNS (dimensionnement des poignées / poignées)
Limites
Lazare:- Actuellement, la propriété MovePanElimage ne sside pas
- Dans certaines plateformes, il ne peut pas prendre en charge la transparence alpha
Erreurs et bugs:
- Correction des bugs communs:
- Bogue avec la grille de dimensionnement (showgrid) sur les contrôles non-TFORM
- Bogue de sélection avec focus de formulaire (lorsque vous essayez de modifier le formulaire, et Tsizerctl gère toujours les événements)
- Bogue de sélection avec des formulaires (lorsque vous taillez le formulaire, sa barre de légende avec des boutons d'action est toujours disponible, ce qui est un peu irritant)
- Bogues en mouvement avec DoubleBuffering activé
- Bogue avec taille BTN, lorsque l'objet gauche + top = diamètre BTN (taille)
- Bogue avec récursivité dans DefwindowProc - FormwindowProc
- Bogue avec contrôle non attribué, qui est causé par la sélection des composants de tailleur
- Bogue avec curseur: parfois cela ne changera pas, lorsque le déménagement est démarré (avec Tshape, par exemple)
- Objet en mouvement avec les touches, tout en le modifiant par souris, provoque des bogues de dimensionnement
- Bogue avec des objets invisibles: il nie visible, mais la sélection des objets supérieurs
- Bogues modernes connues:
- 1. Ajouter la prise en charge de la sélection des objets désactivé [Lazarus]
Solution possible: accrocher tous lesproces wndproces récursives?
PROJETS PLANS:
- Nouvelles fonctionnalités:
- 1. Alignez avec les lignes (fonction, EF)
- 2. Détecter le polygone de contrôle pour dessiner la forme pour s'adapter au formulaire
- 3. Prise en charge des balises personnalisées
- 4. D / L CL Soutien rapide de la transparence réelle avec la méthode de drawfocusrect et le type de rect de mise au point, qui peut spécifier comment dessiner le rect de focus
- 5. Propriété pour masquer la mise au point Rect uniquement lors de la redimensionnement
- Refactorisations:
- 1. Contrôle de retournement, lorsque ses tailles sont trop petites (position de changement + redimensionnement)
- 2. Regenerate Frame les paramètres les plus supérieurs (Ajouter une propriété FrameAntop, par exemple, faire du parent tmovepanel identique à TsizeBtn Parent, si nécessaire) [Delphi, Lazarus]
- 3.