begin process at 2012 05 27 08:56:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Graphique

 > 

résoltion


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

résoltion

samedi 11 mars 2006 à 10:51:16 | résoltion

younesken1

j'ai développez mon application ds le mode 1152x864,
et, elle est trés charger en composant visuelle.
le problème et que dés que je passe à une autre résolution plus basse (800x600), alors l'interface n'est plus vraiment utilisabe.
y'a t'il pas moyen de redimmenssioner les composant visuel automatiquement selon la résolution.merci beaucoup.
samedi 11 mars 2006 à 11:14:15 | Re : résoltion

cirec

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

Salut,

Extrait de l'aide de Delphi :

procedure ChangeScale(M, D: Integer); override;

Description

La méthode ChangeScale permet de changer l'échelle d'une fiche et de tous ses contrôles pour une résolution d'écran ou une taille de fonte différente. Comme ChangeScale modifie les propriétés Top, Left, Width et Height du contrôle, elle change sa position et sa taille ainsi que celles de ses enfants.

Les paramètres M et D définissent une fraction servant à changer l'échelle du contrôle. Le paramètre M est le multiplicateur et D le diviseur. Par exemple, pour réduire un contrôle à 75% de sa taille initiale, spécifiez les valeurs 75 pour M et 100 pour D (75/100). Le même résultat est obtenu en spécifiant la valeur 3 pour M et 4 pour D (3/4). Les deux fractions sont égales et le contrôle est réduit du même pourcentage, 75%.

Pour agrandir le contrôle à 33% de plus que sa taille initiale, spécifiez les valeurs 133 pour M et 100 pour D (133/100). Le même résultat est obtenu en spécifiant les valeurs 4 pour M et 3 pour D (4/3).

Remarque : Comme la taille des contrôles et leurs coordonnées sont des valeurs entières, la mise à l'échelle en utilisant le ratio M/D entraîne un certain niveau d'erreur d'arrondi. L'appel répété de ChangeScale peut provoquer à un certain moment la disparition du contrôle (si les erreurs d'arrondi rendent le contrôle trop petit), ou faire sortir le contrôle de la fiche (si les erreurs d'arrondi déplacent le contrôle). Si vous mettez fréquemment un contrôle à l'échelle, envisagez de détruire et de recharger la fiche au bout de quelques mises à l'échelle, afin que les coordonnées soient remises à l'échelle en évitant l'accumulation des arrondis.


Donc pour reduire les composants de 25% il faut écrire :
ChangeScale(75, 100);



@+
Cirec
samedi 11 mars 2006 à 11:20:20 | Re : résoltion

jlen100

Membre Club
Réponse acceptée !
salut,
on peut toujours redimensionner les composants avec les porpriétés width  et heigth mais c'est  trés lourd
si tu as indicé tes composants tu peux faire des boucles en utilisant findcomponent
par exemple pour un label
for i:=0 to XXX do
  with TLabel(FindComponent('Label' + IntToStr(i))) do // on recherche les éléments à afficher
         begin
              width:=(width*nouveau) div ancien;
             height:=(height*nouveau) div ancien;
         end;

Mais de toutes façon cela restera lourd

@+
jlen

samedi 11 mars 2006 à 11:42:42 | Re : résoltion

jlen100

Membre Club
excuse moi  cirec je n'avais pas rafraichi.(aujourd'hui c'est moi!!)
mais j'ai au moins appris une chose aujourd'hui

@+
jlen

samedi 11 mars 2006 à 11:57:47 | Re : résoltion

cirec

Membre Club Administrateur CodeS-SourceS

Content d'avoir su t'éclairer, j'en déduis donc que tu ne connais pas les deux autres procédures :
Il existe aussi ScaleBy et ScaleControls

ScaleBy est identique a ChangeScale
et
ScaleControls : Comme son nom l'indique il n'agit que sur les contrôles enfants

Voilà c'est tout


@+
Cirec
samedi 11 mars 2006 à 12:16:27 | Re : résoltion

jlen100

Membre Club
si je connais ---> enfin il y a 1/4 d'heure car j'ai été voir dans l'aide les méthodes de Tcontrol encore que pour changescale l'aide de D7 est moins complète!!

@+
jlen

samedi 11 mars 2006 à 12:24:13 | Re : résoltion

cirec

Membre Club Administrateur CodeS-SourceS

Sous TControl les deux ont la même définition mais sous TCustomForm c'est un peut différent :

Repositionne et redimensionne la fiche par le ratio M/D et ajuste, si nécessaire, sa zone client et la taille de fonte.

procedure ChangeScale(M, D: Integer); override;

Description

La méthode ScaleBy appelle ChangeScale pour effectuer le changement d'échelle. TCustomForml surcharge ChangeScale pour remettre à l'échelle les contrôlesenfant et les barres de défilement avant de se remettre lui-même à l'échelle.

@+
Cirec
samedi 11 mars 2006 à 12:32:15 | Re : résoltion

jlen100

Membre Club
oui sous Tcontrol c'est la méthode native alors qu'elle est surchargée sous TcustomForm

@+
jlen

samedi 11 mars 2006 à 13:21:28 | Re : résoltion

younesken1

merci beaucoup Cirec.et a toi aussi jLen car méme si elle est lourde la procédure que tu ma proposé, mais j'ai commeme appris l'interet d'utilisation de nouveaux fonctions.


Cette discussion est classée dans : composant, résolution, résoltion


Répondre à ce message

Sujets en rapport avec ce message

Pb : Le composant internet de delphi [ par infohelp ] Bonjour je cherche le composant similaire d'acces a internet de visual basic (winsock) mais le meme avec les meme fonctions et qui prenent les proxy c Utiliser TIdMappedPortTCP """Composant Indyserver""" [ par PsyckoHia ] SaLuT je cherche a utiliser TIdMappedPortTCP qui se trouve dans Indy seveur , Est ce que qq'un peux me donner un exemple simple,à part celui qui est Composant clientsocket [ par MeuhMeuh ] Bonjour,Je voudrais savoir s'il est possible de positionner des FLAGS (RST,FIN,OOB...) quand on envoie des données avec le composant Client Socket, si Programme console et composant database [ par VTCFMAN ] Peut-on utiliser les composants Database dans un programme console avec ou sans module de données ?. Si non existe-t-il des des librairies permettant URGENT : problème d'installation de composant [ par Henri ] problème d'installationBonjour,Je vous remercie de résoudre le problème suivant :Je voudrais installer un composant téléchargé sans son fichier *.pas composant webbrowser [ par vib ] Bonjour, Je débute en Delphi.Je désire récupéré le contenu d'une page Html à partir du composant Webbrowser.J'ai utilisé ce composant avec VB, proprié TNMPOP3 composant [ par Steph ] j'ai essayé d'utiliser le composant TNMPOP3 (FastNet) pour afficher le nombre de messages reçus (non lus ?) dans ma boite aux lettres Outlook.Pour cel Création dynamique de composant [ par Amadeus ] Comment créer dynamique des contrôle TImage ?Je voudrais créer sur une Form autant de TImage que d'image se trouvant dans un répertoire donné. Comment composant de l'explorateur [ par vib ] Bonjour,Quelqu'un pourrit il me dire ou trouver le composant qui liste les fichiers dans l'explorateur et qui permet d'un simple clic sur l'entête de propriété d'un composant à partir de 'components' [ par vib ] Je désire modifier les propriétés de n'importe quel composant sur une feuille.Je me suis servi de la propriété 'components'de la feuille avec l'index


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales