PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → ImageFenêtre ne prend pas en compte les onglets
ImageFenêtre ne prend pas en compte les onglets
Débuté par Nicolas, 03 mar. 2014 15:52 - 4 réponses
Posté le 03 mars 2014 - 15:52
Bonjour,

Je voulais savoir si quelqu'un a trouvé une solution pour que la fonction ImageFenêtre génère non seulement, des images différentes par plan mais aussi par onglet. Dans l'aide il est indiqué qu'elle devrait le faire aussi pour les onglets.

D'avance, merci.

Cordialement,
Nicolas
Posté le 03 mars 2014 - 17:40
Bonjour,

Si ImageFenêtre ne fonctionne pas correctement, alors il faut contourner le problème en affectant automatiquement un indice à l'onglet, et relancer la fonction.

Cordialement

i, n sont des entiers

n = ONG_Onglet..Occurrence
POUR i = 1 A n
ONG_Onglet = i
ImageFenêtre("C:\Projet\SaisieClient.WDW", "C:\Images\SaisieClient")
FIN
Posté le 04 mars 2014 - 12:23
Bonjour,

tout d'abord merci pour votre réponse. :)

J'ai essayé votre solution mais ça ne fonctionne pas. :(

J'ai bien peur que ce soit plus compliqué que cela... je vous explique le pourquoi du comment :
je cherche à gérer les droits de mon application. Donc je me suis dit : je vais récupérer tous les noms de boutons sur toutes les fenêtres de mon application. Et dans chaque bouton je vérifie si l'utilisateur à les droits ou non.

La limite à ce système est que si je change un nom de bouton entre temps, ça crée un nouveau droit et donc les droits affectés à un utilisateur sont perdu. Je me suis donc dit que je devrais créer un système qui permet à un nouveau droit d'hériter des affectations d'un utilisateur d'un ancien droit.

Et pour savoir quel nom de bouton correspond à quel bouton dans l'interface (sans avoir besoin de regarder à la main pour chacun), je voulais créer une image de la fenêtre ( de l'environnement de dév. ) avec ImageFenêtre et, avec les coordonnées du bouton entourer en rouge le bouton concerné.

De cette façon il est très facile en un coup d’œil de savoir quel nouveau droit hérite éventuellement d'un ancien.

Je pense que votre solution fonctionne si je voulais avoir une impression-écran d'une fenêtre déjà ouverte.

Ce que je cherche, c'est avoir une image d'une fenêtre fermé avec les différents plan et les différents onglets...

Et donc sur une fenêtre fermé, je ne peux pas forcer un onglet car il n'existe pas.

J’espère avoir été clair.

Si vous avez une autre idée de solution ?

Merci encore.

Cordialement,
Nicolas.
Posté le 04 mars 2014 - 14:50
Bonjour,

Je pense que l'une des solutions pourrait être de créer une fenêtre bidon avec des boutons bidons qui ouvre toutes vos différentes fenêtres (en mode OuvreFille), ainsi vous pourriez écrire le code nécessaire pour piloter la/les fenêtres, onglets, plans, et ainsi faire des impressions d'écran.

// Copie l'image de la fenêtre en cours dans une variable image
MonImage est Image = dCopieImageFenêtre("")


puis de sauvegarder l'image dans un fichier avec le nom désiré.

Pour ne pas perturber votre projet, n'incluez pas cette fenêtre bidon dans les éléments intégrables lors de la création de l'exécutable.

Cordialement
Posté le 05 mars 2014 - 10:43
Bonjour,

A vrai dire , j'avais pensé à cette solution mais devoir reprendre toutes les fenêtre que j'ai, une à une, pour :
1- soit mémoriser les arguments à envoyer aux fenêtres,
2- soit créer des boutons avec les bons arguments (comme vous le suggérez),
3- soit changer l'initialisation pour que toutes les fenêtres n'ai pas d'argument obligatoire.
ne me semble pas vraiment propre.

Surtout c'est une manipulation que je vais devoir faire pour toutes fenêtres futur en plus des existantes : exactement ce que je voulais éviter...

Les solutions 1 et 2 ne me plaisent pas car si pour une raison ou une autre, je change un argument (nature ou argument en plus ou en moins) il faut que je maintienne ce fichier ( solution 1 ) ou les boutons (solution 2 ) et je me connais je vais oublier 99% du temps...

Solution 3 : celle ci ne me plait pas car si je réutilise une fenêtre, je ne saurais pas vraiment quel argument est obligatoire et important au premier coup d’œil... (Source d'erreur à mon avis)

Mon objectif est : je n'ai qu'une seule procédure à lancer, et tous les droits se génèrent automatiquement sans avoir besoin de faire attention aux fenêtres (nouvelle ou pré-existante) pour voir si elle sont bien prise en compte... Et sans avoir besoin de faire de maintenance en cas de modification de fenêtres...

Sinon savez-vous s'il existe une fonction pour savoir combien d'argument demande une fenêtre? Si une telle fonction existais, je pourrais générer éventuellement un fichier avec des arguments automatiquement aussi (même si certaines autres difficultés sont à prévoir)... Vous voyez ce que je veux dire? J'ai déjà fait des recherches dans ce sens mais je n'ai rien trouvé...

En tout cas merci pour vos idées. Si vous en avez d'autres je suis preneur ;).
Désolé de casser chacune d'entre elles mais j'essaie de m’embêter au début pour ne plus avoir besoin de penser à ça pour tout le reste de mon développement qui promet de durer très longtemps encore...

Cordialement.