Bonjour,
je voudrais savoir SVP comment redimensionner la forme automatiquement avec les composants pour qu'ils soient justes avec la taille de l'écran ?
Cordialement,
Bonjour,
je voudrais savoir SVP comment redimensionner la forme automatiquement avec les composants pour qu'ils soient justes avec la taille de l'écran ?
Cordialement,
Bonjour ! La question m'a paru ambiguë, parce que vous parlez de la taille de l'écran, mais avec l'aide de votre capture d'écran, ce que je comprends, c'est que vous voudriez connaître la méthode à suivre pour que les composants de la fenêtre se replacent et se redimensionnent automatiquement en fonction de la taille de la fenêtre. J'ai bon ?
Je pense que c'est une question que tout le monde s'est posée et qu'il doit y avoir des réponses un peu partout. J'avoue que personnellement je n'ai pas des idées très claires sur la question.
Mon site personnel consacré à MSEide+MSEgui : msegui.net
Bonjour,
Sympa Roland d'avoir modifié Titre et Question et d'avoir décodé la demande , je dois avouer n'avoir rien compris en première lecture (avant correction) et n'y avoir rien compris !
Je présume aussi qu'il ne s'agit pas d'un développement FMX (trop simple de poser un (seul) TScaledLayout pour faire tout le boulot) mais d'un bon vieux Delphi 7 ?
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Mon site personnel consacré à MSEide+MSEgui : msegui.net
Bonjour,
pour adapter la taille et la position des composants de la Form sous D7, le mieux est de faire des calculs en fonction de clientWidth et ClientHeight dans le Resize de la fenêtre ?
Exemple :
Il faut aussi mettre l'ancrage de certains boutons (Anchors) à akBottom et akRight (ceux du bas en général)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Stringrid1.left := 10 ; Stringrid1.Width := Form1.ClientWidth - 20 ; ... // Largeur des colonnes à adapter ...
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Merci @Roland Chastain vous avez raison j'ai mal poser ma question
@SergioMaster c'est delphi 2010 est ce que je peux convertir ce code de delphi 2010 en FMX ?
Merci @Charly910 pour votre réponse, ce code est juste pour dbgrid ou peux marcher avec tous les composant ?
merci d'avance ?
Bonjour,
réponse de normand OUI il est possible de transformer un programme VCL en programme FMX (en utilisant Mida proposé en version "lite" avec Delphi XEn ), NON à mon avis ce n'est pas forcément une bonne idée d'utiliser cet outil, écrire en FMX apporte beaucoup de choses (mais aussi pas mal de prises de tête) nouvelles dont les livebindings (obligatoires dès qu'il y a base de données)Envoyé par mrsimo7
Je croyais avoir écrit dans mon post qu'il fallait utiliser les propriétés Anchors des composants ainsi qu'ajouter pas mal de Panels pour remplacer le ScaledLayout mais j'ai du faire quelques tests pour vérifier (vérifier que Anchors existait, vérifier ce que cela faisait sur les TEdit etc...)Envoyé par Roland Chastain
et j'ai oublié d'Editer mon post par la suite (après tout c'était dimanche )
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
En VCL, il n'y a rien de plus simple, il suffit de joueur avec les Anchors ou des TPanel imbriqués en jouant sur Align comme l'évoque SergioMaster
Ou encore du TGridPanel qui existe dans D2010
Align cela existe depuis au moins Delphi 3 (si ce n'est pas avant) et il fallait les imbriquer entre les alClient, alTop, alBottom ... et même les boutons "bas/droite" pouvait se gérer via un TPanel en Bottom, un second imbriqué en Right, les boutons à l'intérieur de ce denier
Anchors cela existe depuis Delphi 4 !
Il n'y a jamais besoin de faire les calculs soit même pour un redimensionnement ce type.
Il faut des calculs pour éventuellement gérer plusieurs colonnes redimensionnables ou des trucs du genre
Une petite vidéo qui applique Align sur des Fenêtres imbriqués mais c'est pareil pour un TPanel ou une TDBGrid
Surtout entre 1'30" et 3'30"
En FMX, Thierry Laborde pourtant le répète souvent, il faut utiliser des TLayout, une illustration dans Les layouts de Firemonkey
C'est une technique extrêmement connu en Java Swing, cela n'a rien de nouveau, il faut juste s'y habituer
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Bonjour,
Pour quelles infos de plus ..
Nous sommes sous W7 et le dev est sous delphi Xe2.
les calculs dynamiques, l'utilisation des Aligns, des Anchors marchent sur très bien, mais avec quelques "Bmol" je rencontre des problèmes avec les dalles "Full HD".
Sur certaines le problème est réglé en mettant la taille de police de Windows = 100 %,
Sur d'autres cela ne suffit pas et des erreurs de dimensionnements existent , forme hors écran, tronquées, images déformés..
De plus pour un même fournisseur de PC avec ce genre de dalle toutes les erreurs de dimensionnement sont identiques ce qui semble plutôt normal.
Mais avec des fournisseurs différents, pour de PC équipé de la même taille de dalle, d'une même résolution, on a des erreurs de dimensionnement différents. Donc plutôt dur de répondre a tous le monde.
Aujourd'hui nous nous assurons que l'IHM est correcte sur 6 résolutions différentes et nous demandons au client de s’équiper de ses résolutions. Et nous avons laissés de coté les dalles FULL HD.
Quelqu'un a t il déjà vus ce genre de différences, peut être ceci est il réglé sous des versions plus ressente aussi.
Bye et bon code...
Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .
salut
regarde du cote de la méthode scalby du twincontrol dans l'unité controls
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Etrange, j'ai la même conf, la plupart des utilisateurs sont en 1080p (62%)
Je n'ai constaté un problème avec l'option de Zoom de Windows sur un poste client en 1600x900 accédant aux applications via Serveur CITRIX (lui n'ayant pas d'écran, n'a pas de résolution native)
J'ai remplacé les Anchors par une série de Panel imbriqués, plus de soucis
C'est bien la seule application qui m'a posé problème
il faut dire que j'utilise souvent trois panels, un top, un client, un bottom, ensuite, pour les boutons, je ne joue que sur Left/Right
D'ailleurs mes modules gèrent ce Zoom Windows et permettent même de monter à 200% voire 300% via ScaleBy
Je te confirme qu'il faut apporter un très très grand soin au Anchors et Align si le Zoom agrandi trop la fenêtre et qu'il faut que les composants s'adaptent
Je travaille sur un parc interne d'une entreprise
J'ai mis un log au démarrage des modules, les premiers en ont bénéficié il y a 16 mois, lorsqu'avec un collègue on a repris en main ce que nous avais les laissés les prestataires
voici une stat des résolutions les plus populaires (échantillons de 224591 lancement de module)
[SCREEN:1920x1080] 61,76%
[SCREEN:1024x768] 14,71%
[SCREEN:1600x900] 10,17%
[SCREEN:1280x1024] 4,45%
[SCREEN:1440x900] 2,61%
[SCREEN:1680x1050] 1,67%
Et une vingtaine de résolution encore moins standard
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
En fait cela semble être Windows qui n'arrive pas à gérer les High DPI How do I make my GUI behave well when Windows font scaling is greater than 100%
La solution: dire à Windows de ne pas redimensionner son application avec la propriété scaled.
Lorsqu'on pense à Google avec Android ou Apple et iOS
Sinon j'allais dire, imbriquer les panels il faut faire attention parce que cela peut devenir vite pénible pendant le Design Time (*) mais apparemment ShaiLeTroll a limité son nombre de panels.
* -> Les déplacements de panels peuvent subir des redimensionnements, pour trouver un U.I. il faut parfois tout déplier (il n'y a pas de fonctions de recherche), l'IDE indique le Z-Order dans le fichier .DFM, le "send back"/ "bring to front" est capricieux, le panel a une propriété bizarre FullRepaint ...
j'ai configuré l'anchors mais quand d'agrandi la forme du logiciel lka taille des composants deviens trop grande comlme vous voyer sur la photo ci-joint,
ya une moyenne pour garder la taille petite ?
pardon l'autre image c'est avec le composant reseiskit celle ci avec anchors
Bonjour,
il faut mettre les anchors uniquement pour ta grille, pas pour les boutons
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Bonjour,
ou mettre les boutons dans un panel
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
merci infiniment pour votre aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager