Ce sujet est résolu.
1 | |||
Auteur | Messages | ||
---|---|---|---|
didier18 | #1 Posté le 22/11/2015 à 11:36:55 | ||
Bonjour Comment rafraîchir une InputBox (avant qu'elle ne soit affichée) si elle contient une nombre important de lignes de choix ? Dans l'exemple ci-dessous le dialogue s'ouvre bien mais on ne vois pas l'intégralité de la liste. Pour afficher la totalité des données, il faut cliquer sur le signe '-' de la fenêtre InputBox...
A noter que j'ai le même soucis que ce soit sous Gambas3-3.6.2 que sous Gambas3-3.8.3... Merci Bonne journée. | |||
gambix | #2 Posté le 22/11/2015 à 22:32:54 | ||
Faire simple ! | Je pense que dans ton cas une boite de dialogue personnalisée serait plus indiquée. Tu pourrais même en faire une basée sur un combobox ou bien un listview, vu que tes choix sont limité et strictes Moins de texte dans une signature c'est agrandir son espace. | ||
linuxos | #3 Posté le 23/11/2015 à 02:43:56 | ||
Un peu de sel, de poivre et la crevette sera... | Bonsoir Didier, A tester: ajouter: Me.Refresh a la fin de la fonction Form_Open() pour le forcer a rafraichir. Sinon, lancer un Timer avec 10ms qui lui déclarera ton InputBox. Dans plusieurs cas j'ai eu recours a cette méthode car l'affichage du contenu de formulaires n'était pas comme complété. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
vuott | #4 Posté le 23/11/2015 à 17:16:11 | ||
Ne cedere ineluctabili possimus | Tchao didier18, ...est-ce que tu utilises QT4 ou GTK ? ...... « Vita non suavis esse potest, nec Mors amara. » | ||
didier18 | #5 Posté le 24/11/2015 à 11:40:21 | ||
Bonjour Je viens de m'apercevoir que l'exemple tel que donné dans mon premier message fonctionne tout à fait et ne reproduis pas le phénomène de mauvais affichage... J'en déduis qu'il doit y avoir un tampon ou une variable que j'ai mal vidée quelques part (donc c'est de ma faute !). vuott@ : J'utilise QT4, mais effectivement c'est une éventualité d'incompatibilité à laquelle je n'avais pas pensé. linuxos@ : Le Me.Refresh ne fonctionne pas dans ce cas, j'ai placé cette commande (y compris en fin du Form.Open) et à la fin de la procédure, mais celà n'a pas d'effet sur l'InpuBox. Ma logique tendrait à dire que c'est normal puisque l'InputBox est considérée comme un 'Dialog', c'est donc le 'Dialog' qu'il faudrait 'Refresher' et non le 'Form' (mais peut être que là aussi j'ai tout faux). Lancer un 'Timer' pour faire afficher l'InputBox' reste envisageable, mais vu que cette procédure ne devrait être utilisée qu'en de rares occasions voir pas du tout, je vais passer par une autre piste... gambix@ : L'idée de la boîte de dialogue personnalisée (avec ComboBox) me semble être la plus judicieuse à ce stade. C'est cette solution que je vais adopter. Merci à vous trois de m'avoir aidé à la résolution de ce problème. Bonne journée. | |||
vuott | #6 Posté le 24/11/2015 à 13:51:51 | ||
Ne cedere ineluctabili possimus | Si je utilise QT4, je reçois ce problème. Si je utilise GTK, je vois toute la liste en InputBox. « Vita non suavis esse potest, nec Mors amara. » | ||
didier18 | #7 Posté le 24/11/2015 à 14:40:39 | ||
vuott +1 L'éternel problème entre l'utilisation des composants gb.qt4 ou gb.gui qui sont incompatibles entre eux... :-( Bonne journée. | |||
1 |