[R] Agrandir une zone en même temps que la fenêtre
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Agrandir une zone en même temps que la fenêtre
Bonjour,
Je commence l'utilisation de Koda. J4ai réussi à faire une fenêtre retaillable. Comment agrandir le contenu (une zone d'onglet dans mon test) automatiquement ?
Je commence l'utilisation de Koda. J4ai réussi à faire une fenêtre retaillable. Comment agrandir le contenu (une zone d'onglet dans mon test) automatiquement ?
Modifié en dernier par EricF le lun. 23 avr. 2012 19:44, modifié 1 fois.
- Tlem
- Site Admin
- Messages : 11791
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Agrandir une zone en même temps que la fenêtre
Vous devez surveiller la taille de votre GUI en utilisant une méthode simple tel que la comparaison de la taille à un instant T puis T + 1 ou bien de manière plus évoluée, vous devez utiliser une CallBack pour surveiller l'action du redimensionnement et adapter celle des éléments intérieur.
Vous trouverez cela en utilisant le moteur de recherche du forum.
Vous trouverez cela en utilisant le moteur de recherche du forum.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Agrandir une zone en même temps que la fenêtre
MErci, je vais voir ça.
Pour rendre scrollable une zone, faut-il rajouter WS_VSCROLL dans l'inspecteur d'objets de Koda ? J'ai testé, mais l'ascenseur reste fixe.
Pour rendre scrollable une zone, faut-il rajouter WS_VSCROLL dans l'inspecteur d'objets de Koda ? J'ai testé, mais l'ascenseur reste fixe.
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Agrandir une zone en même temps que la fenêtre
Tu as essayé GUICtrlSetResizing ?EricF a écrit :Comment agrandir le contenu (une zone d'onglet dans mon test) automatiquement ?
Pour le scroll, ça dépend de ce que tu appelles "une zone"... une gui ? un controle ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Agrandir une zone en même temps que la fenêtre
En l'occurence, une zone d'onglets. Le callback ne semble pas simple à mettre en place pour l'instant, je préfère donc mettre uen scrollbar au cas où le contenu dépasse la hauteur. Pour l'instant, le résultat n'est pas top :-/
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Agrandir une zone en même temps que la fenêtre
Heu, la solution la plus simple reste quand même de faire des boutons plus petits, ou des boutons radio dans un groupe, ça prend moins de place ^^
Une tab scrollable ça risque d'être chaud
Une tab scrollable ça risque d'être chaud
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Agrandir une zone en même temps que la fenêtre
LA disposition, c plus pour tester, la taille et l'écartement des boutons seront adaptés à la fin. LE problème est que je vais avoir besoin de créer un bon nombre de boutons dynamiquement. Mais je v essayer de les ranger sur plusieurs colonnes, ça devrait être facile en se basant sur le nombre de boutons à générer.
Sinon, si je mets ma zone d'onglets dans un groupe, je peux facilement faire scroller le groupe si j'adapte la hauteur des onglets selon le nombre de boutons ?
Sinon, si je mets ma zone d'onglets dans un groupe, je peux facilement faire scroller le groupe si j'adapte la hauteur des onglets selon le nombre de boutons ?
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Agrandir une zone en même temps que la fenêtre
Facilement, ça j'ai comme un gros doute...
Mais le moment venu si tu postes un script fonctionnel comme exemple on testera et on verra bien si c'est faisable

Mais le moment venu si tu postes un script fonctionnel comme exemple on testera et on verra bien si c'est faisable
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Agrandir une zone en même temps que la fenêtre
Ok, je verrais déjà ce que je peux faire.
Merci poru vos réponses.
Merci poru vos réponses.
Re: [R] Agrandir une zone en même temps que la fenêtre
Deux problèmes se posent :
1. Problème de déclaration de variables de type Array pour les _FileListToArray(). J'ai zieuté un script qui fait globalement la même chose, la déclaration se faisait après le _FileListToArray(), mais pour ma part, ça semble difficile à faire.
2. Comment affecter les actions aux boutons, ou plutôt comment générer les différents case pour mes boutons ?
1. Problème de déclaration de variables de type Array pour les _FileListToArray(). J'ai zieuté un script qui fait globalement la même chose, la déclaration se faisait après le _FileListToArray(), mais pour ma part, ça semble difficile à faire.
Code : Tout sélectionner
For $i = 1 To $dossiers[0]
; = $liste_fichiers & $dossiers[$i] & @CRLF
$TabSheet[$i] = GUICtrlCreateTabItem($dossiers[$i])
$fichiers = _FileListToArray("./" & $fichiers[$i] & "/", "*.rdp", 1) ;On liste les fichiers RDP
For $j = 1 To $fichiers[0]
;$Button[$j] = GUICtrlCreateButton($fichiers[$j], $pos_haut, 72, 113, 33)
$var = $var & $fichiers[$j] & @CRLF
$pos_haut = $pos_haut+20
Next
Next
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [R] Agrandir une zone en même temps que la fenêtre
1 - si tu mets 'Global $fichiers ' en tête de script ça devrait faire l'affaire
2 - La 1ère boucle For liste les dossiers et fait les tabs, la 2ème liste les fichiers et fait les boutons, donc a priori il te faut une array à 2 dimensions, $Button[$i][$j]
Quelle doit être l'action associée aux boutons ?
2 - La 1ère boucle For liste les dossiers et fait les tabs, la 2ème liste les fichiers et fait les boutons, donc a priori il te faut une array à 2 dimensions, $Button[$i][$j]
Quelle doit être l'action associée aux boutons ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [R] Agrandir une zone en même temps que la fenêtre
shellexecute
Maintenant, j'obtiens un "Subscript used with non-Array variable." sur la 3è ligne du code ($tabsheet). $dossiers et $tabsheet sont définis en global
Maintenant, j'obtiens un "Subscript used with non-Array variable." sur la 3è ligne du code ($tabsheet). $dossiers et $tabsheet sont définis en global
Modifié en dernier par EricF le lun. 30 avr. 2012 22:11, modifié 1 fois.
- TopXm
- Niveau 6
- Messages : 260
- Enregistré le : mer. 25 mai 2011 16:37
- Localisation : Usa
- Status : Hors ligne
Re: [R] Agrandir une zone en même temps que la fenêtre
Hello,
Si j'ai bien pigé tu veux en fait lister puis ouvrir tes fichiers RDP lorsque tu les cliques ?
Dans ce cas passer par des boutons me parait lourd non ? Pourquoi ne pas passer par une list/listview/combo comme ça tu ne galères pas avec la gestion du positionnement des boutons
Si j'ai bien pigé tu veux en fait lister puis ouvrir tes fichiers RDP lorsque tu les cliques ?
Dans ce cas passer par des boutons me parait lourd non ? Pourquoi ne pas passer par une list/listview/combo comme ça tu ne galères pas avec la gestion du positionnement des boutons

Re: [R] Agrandir une zone en même temps que la fenêtre
Avec sélection multiple ? J'avais aussi penser passer par des checkboxes. A voir si c complexe avec des boutons.TopXm a écrit :Dans ce cas passer par des boutons me parait lourd non ? Pourquoi ne pas passer par une list/listview/combo comme ça tu ne galères pas avec la gestion du positionnement des boutons
- TopXm
- Niveau 6
- Messages : 260
- Enregistré le : mer. 25 mai 2011 16:37
- Localisation : Usa
- Status : Hors ligne
Re: [R] Agrandir une zone en même temps que la fenêtre
Hello
@+

Le moins lourd à mon avis c'est une ListView avec cases à cocher. J'ai adapté vite fait un bout de code que j'avais dans ma besaceEricF a écrit :Avec sélection multiple ? J'avais aussi penser passer par des checkboxes. A voir si c complexe avec des boutons.

► Afficher le texteLister Fichiers/Dossiers
Re: [R] Agrandir une zone en même temps que la fenêtre
Merci, je vais regarder ça. Dommage, je ne peux pas visualiser le résultat.
Re: [R] Agrandir une zone en même temps que la fenêtre
J'ai réussi à résoudre tous les problèmes rencontrés.
Pour la définition des arrays, j'ai défini les variables en global avec un élément.
Ensuite, à l'intérieur des boucles, je rajoute des éléments avec _ArrayAdd().
Les boutons ont été remplacés par des checkboxes, plus faciles à gérer ici. Il reste à récupérer les cases cochées et à gérer les errreurs, plus quelques petites choses. Mais le plus gros est fait 
Merci pour vos réponses.
Pour la définition des arrays, j'ai défini les variables en global avec un élément.
Code : Tout sélectionner
global $TabSheet[1]
global $fichiers[1]
Code : Tout sélectionner
For $i = 1 To $dossiers[0]
_ArrayAdd($TabSheet, $dossiers[$i]) ;On incrémente le nombre d'éléments du tableau
$TabSheet[$i] = Guictrlcreatetabitem($dossiers[$i])
$fichiers = _FileListToArray("./" & $dossiers[$i] & "/", "*.rdp", 1) ;On liste les fichiers RDP
For $j = 1 To $fichiers[0]
_ArrayAdd($checkboxes, $fichiers[$j]) ;On incrémente le nombre d'éléments du tableau
GUICtrlCreateCheckbox($fichiers[$j], 25, $pos_haut)

Merci pour vos réponses.