PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Création de boutons par programmation depuis une autre fenetre
Création de boutons par programmation depuis une autre fenetre
Iniciado por le stang, 08,nov. 2018 11:32 - 2 respuestas
Miembro registrado
1 mensaje
Publicado el 08,noviembre 2018 - 11:32
Bonjour a tous, premier post sur le forum, après une recherche infructueuse. Je suis débutant sur windev, et j'aimerais pouvoir créer par programmation des boutons sur une autre fenêtre.
Lorsque j'écris:
ChampClone(FEN_TestCloneBouton.{"sNomDerBout"}, "FEN_TestCloneBouton." + {sNomNewBout},FEN_TestCloneBouton.{sNomDerBout}..Altitude + 40,FEN_TestCloneBouton.{sNomDerBout}..Hauteur+40),
où sNomDerBout et sNomNewBout sont des variables contenant un string de format :
sNomDerBout est un string = "BTN_" + nomDuBouton
La fonction ne reconnais pas les "{}" quand j'essaye de faire une indirection. Je ne vois donc pas comment faire pour que la fonction ChampClone lise non pas le nom de la variable mais son contenu. On m'as proposé de créer une flopée de boutons que je met en invisible et que j’édite au fur et a mesure de l'utilisation e mon programme... Mais bon j’aimerais avoir une méthode plus flexible pour ne pas être restreint sur le nombre de boutons disponibles.

Cordialement,

Gwendal LE STANGUENNEC.
Miembro registrado
96 mensajes
Publicado el 08,noviembre 2018 - 13:48
Bonjour,

dans quelle version de WinDev êtes-vous ? Car il existe désormais la fonction ChampCrée, qui est plus simple que ChampClone.

Cette fonction existe depuis WinDev 19 (https://doc.pcsoft.fr/?1000020876&verdisp=160).

Bonne journée !

--
Johjo aka Jonathan Laurent

Codez mieux ! Codez plus vite !

Mon blog sur WinDev : http://www.ytreza.org
Me contacter sur slack (wx-community) : https://frama.link/BoBD0SY0
Faîtes moi un ping : http://www.ytreza.org/fr/services/ping-sur-forum
Miembro registrado
356 mensajes
Publicado el 08,noviembre 2018 - 18:12
Bonjour,

Si j'ai compris ce que tu veux faire ce code devrait faire l'affaire
ChampClone({"FEN_TestCloneBouton."+sNomDerBout},{"FEN_TestCloneBouton."+sNomNewBout},{"FEN_TestCloneBouton."+sNomDerBout}..Altitude + 40,{"FEN_TestCloneBouton."+sNomDerBout}..Hauteur+40)

En ajoutant au besoin les types adéquats dans les indirections.
Sans préjuger de l'utilisation de "ChampClone" ou de "ChampCrée

--
Francis MOREL
http://www.SoftProtect.fr
Mensaje modificado, 08,noviembre 2018 - 18:15