Accueil > Forum > > > > Mettre à l'echelle tous les controles d'une frame
Mettre à l'echelle tous les controles d'une frame
samedi 21 juillet 2007 à 12:44:50 |
Mettre à l'echelle tous les controles d'une frame

lechti62
|
Bonjour, j'ai plusieurs controles images contenus dans une frame, j'aimerai que tous ces controles soient mis à l'echelle de la frame, dans le cadre de la création d'un zoom. Là il me faudrait définir toutes les propriétés height et width pour chacun des controles et vu le nombre que j'ai à faire j'aime savoir si il n'y a pas autre chose. Genre de façon automatique ou toutes les images se réduisent à la meme echelle proportionnellement à la taille height et width de la frame, comme ça je n'ai à m'occuper de zoomer et dezoomer la frame, et tous les controles d'image s'ajustent.
Est ce possible ? si oui, comment ?
Merci à vous.
|
|
samedi 21 juillet 2007 à 13:56:00 |
Re : Mettre à l'echelle tous les controles d'une frame

jmfmarques
|
Bonjour,
Le mieux est sans aucun doute : 1) de créer un groupe de contrôles indexés 2) d'utiliser un redimentionnement de tous les contrôles du groupe en fonction du redimensionnement du Frame. Il suffit pour celà : a) de relever les dimensions originelles du Frame au chargement b) de déterminer le coefficient k de redimensionnement du Frame c) d'appliquer ce coefficient à chacune des propriétés (left, top, width et heught) de tes contrôles images encore faut-il avoir pensé àmettre à True la propriété Stetch de tes contrôles images, bien évidemment.
Voilà ! tu as là tous les éléments qu'il te faut connaître. Le reste relève maintenant de ta seule volonté à développer ...
|
|
samedi 21 juillet 2007 à 14:47:28 |
Re : Mettre à l'echelle tous les controles d'une frame
|
samedi 21 juillet 2007 à 15:12:22 |
Re : Mettre à l'echelle tous les controles d'une frame

lechti62
|
Merci Mortalino, je vais essayer ce code mais il ressemble à ceux que j'ai déjà testé. Ce qui se passe dans ceux que j'ai testé c'est que tous les controles d'une feuillent se redimensionnent bien en fonction de la taille de la feulle. Moi ce que je veux c'est la même chose mais uniquement pour les controles contenus dans une frame.
J'ai donc essayé dans les codes similaires au tien de changer tout ce qui etait relatif à FORM1 par FRAME1, mais ça ne fonctionnais pas, mais je vais voir avec le code que tu donne si il se passe autre chose.
|
|
samedi 21 juillet 2007 à 15:19:58 |
Re : Mettre à l'echelle tous les controles d'une frame

mortalino
|
Oui, t'auras quelques modifs à faire pour pointer vers les dimensions de ta Frame;, mais ça devrait pas être trop long à faire ! t'as essayé juste avec : Call .MyControls.AddAll( Me Frame1) Vu que le Frame est un objet Container, peut-être que ça fonctionnera (jamais essazyé) @++ ( Nouveau forum : Exclusivement Office & VBA/STRONG>
|
|
samedi 21 juillet 2007 à 19:11:42 |
Re : Mettre à l'echelle tous les controles d'une frame

lechti62
|
et non ça ne fonctionne pas, j'ai un joli type incompatible (:
|
|
samedi 21 juillet 2007 à 19:16:37 |
Re : Mettre à l'echelle tous les controles d'une frame
|
samedi 21 juillet 2007 à 19:17:43 |
Re : Mettre à l'echelle tous les controles d'une frame

lechti62
|
quant aux modifs c'est la jungle et la croix et la baniere, je pense qu'il y'a moyen de faire plus simple si seulement ça fonctionnait.
Moi j'ai ça qui fonctionne mais uniquement en redimensionnant tous les controles d'une feuille et non d'une frame. En le modifant avec deux boutons + et - incrémentant la frame.width ou la décrémentant, ça ne donne rien. ce code ne marche qu'avec une form. Qui a une idée ?
Public Sub RedimForm() Dim Form1 As Form Set Form1 = Screen.ActiveForm If (Form1.WindowState = vbMinimized) Then Exit Sub End If Static Longueur As Long Static Hauteur As Long Dim PropLongueur As Single Dim PropHauteur As Single If ((Longueur > 0) And (Hauteur > 0)) Then PropLongueur = Frame1.Width / Longueur PropHauteur = Frame1.Height / Hauteur Dim Ctrl As Control On Error Resume Next For Each Ctrl In Form1.Controls Ctrl.Left = CInt(Ctrl.Left * PropLongueur) Ctrl.Top = CInt(Ctrl.Top * PropHauteur) Ctrl.Width = CInt(Ctrl.Width * PropLongueur) Ctrl.Height = CInt(Ctrl.Height * PropHauteur) Next On Error GoTo 0 End If Longueur = Frame1.Width Hauteur = Frame1.Height End Sub
|
|
samedi 21 juillet 2007 à 19:21:45 |
Re : Mettre à l'echelle tous les controles d'une frame

lechti62
|
Pour répondre à jmfmarques bien sur c'est ce qui fonctionnerai mais je n'ai pas que des images, j'ai d'autres controles comme des boutons, et là pas de strech pour ceux là. J'aurai préféré un redim automatique selon la frame. rien
|
|
samedi 21 juillet 2007 à 19:31:11 |
Re : Mettre à l'echelle tous les controles d'une frame

jmfmarques
|
Réponse acceptée !
1)
Il ne te viendrait pas à l'idée de mettre la condition suivante dans ta boucle Fort Each :
If ctrl.Container Is Frame1 Then
Non ?
2) Il ne te viendrait pas à l'idée d'utiliser TypeOf (voir ton aide en ligne) pour connaître le type du contrôle, non Plus ?
3) Il ne te viendrait pas non plus à l'idée d'utiliser tout bêtement un groupe d^'images indexées nommées machinchouette(0), machinchouette(1),....... machinchouette(n),
et de faire un test élémentaire sur ctrl.Name (puisque ce ne serait alors forcément une de tes images ?)
Bref... Réveille-toi un peu.
Reviens si tu as encore une difficulté, mais là, vraiment... Je ne vois pas ce qui te manque !...
|
|
Cette discussion est classée dans : images, controles, echelle, frame, height
Répondre à ce message
Sujets en rapport avec ce message
Frame et groupement de controles [ par curl ]
Bonjour,cette question a surement déjà été posée mais je n'ai pu trouver de réponse dans les archives.Comment grouper des controles ***déjà existants*
Frame et groupement de controles [ par curl ]
Bonjour,cette question a surement déjà été posée mais je n'ai pu trouver de réponse dans les archives.Comment grouper des controles ***déjà existants*
Controles d'une frame [ par zebiker ]
Bonjour,Est-ce possible de mettre tous les controles (checkbox...) d'une frame en "ENABLED= False" en un clique sur un bouttonMerci, d'avancezebiker
Grouper des controles dans une frame [ par ZamFred ]
Il est aisé de grouper des controles dans une frame quand on crée ces controles directement par l'interface graphique de VB.Mais comment définir ce re
echelle [ par zairino ]
Bonjour a tous,Dans une precedente question j avais besoin de redimentionner une picture box avec l affichage de point qui devait aller de 0,003 a 100
VBA : insertion de controles dans un frame [ par Vipers ]
j'ai des contrôles sur un form de VBa sous Office 97je créé une frame dois- je recréer obligatoiremetn les oblets existants pour qu'ils apparaissenet
controls dans un frame [ par stipe ]
bonjour,sous VB6, j'ai créé un frame et mis des controls dedans.comme je sais jamais ce que je veux, maintenant je veux virer le frame, mais garder su
évènements pour controles créés à l'éxecution... [ par bb16 ]
Bonjour à vous, J'ai un userform qui crée x sur y controles-images en fonction de la var nben. Je souhaite qu'en cliquant sur l'une d'elles pendant l'
memory en vb6, probléme d'affichage dans les picturebox au chargement de la frame [ par grand_dragon_rouge54 ]
Voilà.Je dois réaliser un memory en vb6 (Pour ceux qui ne s'en souvienne pas, on retourne deux cartes à la suite et il faut retrouver des paires).Mes
deux controles identiques [ par yoda00 ]
bonjour et encore merci pour toutes l'aide !!!j'ai une frame avec plein de combo...et une autre frame avec les meme combo ... sauf qu'il y a des champ
Livres en rapport
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|