Nous travaillons sur un projet d'environ 400 fenêtres et avons besoin
d'utiliser le clônage de champs dans chaque fenêtre (pour faciliter la
personnalisation dynamiquement par les utilisateurs). Nous ne parvenons pas
à clôner un champ à partir d'une autre fenêtre que la fenêtre active. Il
n'est pas envisageable de copier/coller les champs originaux dans chaque
fenêtre de l'applicaiton...
Notre idée était de cacher dans la première fenpetre du projet tous les
types de champs clônables et de les clôner ensuite depuis les fenêtres
filles. Une telle manipulation est-elle possible ? Si oui, comment ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Romain PETIT
Le 07/08/2004, <:o) a supposé :
Bonjour,
Bonsoir,
Nous ne parvenons pas à clôner un champ à partir d'une autre fenêtre que la fenêtre active.
[...]
Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Le 07/08/2004, <:o) a supposé :
Bonjour,
Bonsoir,
Nous ne parvenons pas
à clôner un champ à partir d'une autre fenêtre que la fenêtre active.
[...]
Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone...
Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de
la fenetre (ou l'état) du champ cloné...
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Nous ne parvenons pas à clôner un champ à partir d'une autre fenêtre que la fenêtre active.
[...]
Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
JC FLAJOULOT
> Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
Bonjour,
Testé en WD8, idem à la 7.5
Sincères salutations -- Jean-Claude FLAJOULOT
(otez _no_Spam pour me contacter en privé) Sécurité Pointage & Biométrie http://www.sp-et-b.com
> Ce n'est malheureusement pas possible avec Champclone...
Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de
la fenetre (ou l'état) du champ cloné...
Bonjour,
Testé en WD8, idem à la 7.5
Sincères salutations
--
Jean-Claude FLAJOULOT
spetb_no_Spam@tiscali.fr
(otez _no_Spam pour me contacter en privé)
Sécurité Pointage & Biométrie
http://www.sp-et-b.com
> Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
Bonjour,
Testé en WD8, idem à la 7.5
Sincères salutations -- Jean-Claude FLAJOULOT
(otez _no_Spam pour me contacter en privé) Sécurité Pointage & Biométrie http://www.sp-et-b.com
Merci Romain
10 fois plus vite, qu'ils disaient :-(((((
"Romain PETIT" a écrit dans le message de news:
Le 07/08/2004, <:o) a supposé : > Bonjour,
Bonsoir,
> Nous ne parvenons pas > à clôner un champ à partir d'une autre fenêtre que la fenêtre active. [...] > Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Merci Romain
10 fois plus vite, qu'ils disaient :-(((((
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de
news:mn.45367d48651cbdfe.2191@Signature.fin...
Le 07/08/2004, <:o) a supposé :
> Bonjour,
Bonsoir,
> Nous ne parvenons pas
> à clôner un champ à partir d'une autre fenêtre que la fenêtre active.
[...]
> Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone...
Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de
la fenetre (ou l'état) du champ cloné...
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
> Nous ne parvenons pas > à clôner un champ à partir d'une autre fenêtre que la fenêtre active. [...] > Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Romuald.besset
Romain PETIT wrote:
Le 07/08/2004, <:o) a supposé :
Bonjour,
Bonsoir,
Nous ne parvenons pas à clôner un champ à partir d'une autre fenêtre que la fenêtre active.
[...]
Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
A+
Hum,
Bonjour et pardon de vous contredire (une fois n'est pas coutûme)! J'ai testé à l'époque (7.5) cela avec un succès relatifs.
le clone se retrouve dans la fenêtre du champs cloné, c'est fort juste ! Mais à partir de la, il est possible de le manipuler via les API pour l'associer (visualisation) à une autre fenêtre (en modifiant un de ses paramètres (handle fenêtre hote).
note : la fenêtre initiale ne doit absolument pas être fermée (et pour cause) mais je vous informe que c'est certainnement cette manipulation qui est à l'origine du champsupprime... laquelle me manquait pour mes tests. Evidement je ne remettrais pas la mais sur ce bout de code aussi simplement mais on peut 'monter' dans une fenêtre un champ cloné depuis une autre... de là à le manipuler, il faut conserver le lien fenInitiale.nomchamp et hop !
++ R&B qui revient de l'espace intersidéral
Romain PETIT wrote:
Le 07/08/2004, <:o) a supposé :
Bonjour,
Bonsoir,
Nous ne parvenons pas
à clôner un champ à partir d'une autre fenêtre que la fenêtre active.
[...]
Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone...
Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de
la fenetre (ou l'état) du champ cloné...
A+
Hum,
Bonjour et pardon de vous contredire (une fois n'est pas coutûme)!
J'ai testé à l'époque (7.5) cela avec un succès relatifs.
le clone se retrouve dans la fenêtre du champs cloné, c'est fort juste !
Mais à partir de la, il est possible de le manipuler via les API pour
l'associer (visualisation) à une autre fenêtre (en modifiant un de ses
paramètres (handle fenêtre hote).
note : la fenêtre initiale ne doit absolument pas être fermée (et pour
cause) mais je vous informe que c'est certainnement cette manipulation
qui est à l'origine du champsupprime... laquelle me manquait pour mes
tests. Evidement je ne remettrais pas la mais sur ce bout de code aussi
simplement mais on peut 'monter' dans une fenêtre un champ cloné depuis
une autre... de là à le manipuler, il faut conserver le lien
fenInitiale.nomchamp et hop !
Nous ne parvenons pas à clôner un champ à partir d'une autre fenêtre que la fenêtre active.
[...]
Une telle manipulation est-elle possible ? Si oui, comment ?
Ce n'est malheureusement pas possible avec Champclone... Les seuls clones (en WD7.5 en tout cas) ne sont possibles qu'au sein de la fenetre (ou l'état) du champ cloné...
A+
Hum,
Bonjour et pardon de vous contredire (une fois n'est pas coutûme)! J'ai testé à l'époque (7.5) cela avec un succès relatifs.
le clone se retrouve dans la fenêtre du champs cloné, c'est fort juste ! Mais à partir de la, il est possible de le manipuler via les API pour l'associer (visualisation) à une autre fenêtre (en modifiant un de ses paramètres (handle fenêtre hote).
note : la fenêtre initiale ne doit absolument pas être fermée (et pour cause) mais je vous informe que c'est certainnement cette manipulation qui est à l'origine du champsupprime... laquelle me manquait pour mes tests. Evidement je ne remettrais pas la mais sur ce bout de code aussi simplement mais on peut 'monter' dans une fenêtre un champ cloné depuis une autre... de là à le manipuler, il faut conserver le lien fenInitiale.nomchamp et hop !
++ R&B qui revient de l'espace intersidéral
> Mais à partir de la, il est possible de le manipuler via les API pour l'associer (visualisation) à une autre fenêtre (en modifiant un de ses paramètres (handle fenêtre hote).
Auriez-vous l'aimabilité de nous expliquer comment modifier le handle de la fenêtre hôte ? Merci
> Mais à partir de la, il est possible de le manipuler via les API pour
l'associer (visualisation) à une autre fenêtre (en modifiant un de ses
paramètres (handle fenêtre hote).
Auriez-vous l'aimabilité de nous expliquer comment modifier le handle de la
fenêtre hôte ?
Merci
> Mais à partir de la, il est possible de le manipuler via les API pour l'associer (visualisation) à une autre fenêtre (en modifiant un de ses paramètres (handle fenêtre hote).
Auriez-vous l'aimabilité de nous expliquer comment modifier le handle de la fenêtre hôte ? Merci
Romain PETIT
Romuald.besset a émis l'idée suivante :
peut 'monter' dans une fenêtre un champ cloné depuis une autre... de là à le manipuler, il faut conserver le lien fenInitiale.nomchamp et hop !
Oui effectivement, on peut ensuite changer le parent :
** fenetre1 qui contient le bouton BTN
** fenetre2 * Code d'initialisation (fenetre1 doit être ouverte): // on clone le champ ChampClone(fenetre1.BTN, "BTNclone", 0,0) // on lui attribue fenetre2 comme nouveau parent API("user32", "SetParent", Handle("fenetre1.BTNclone"), Handle()) // on manipule le clone sur la nouvelle fenetre {"fenetre1.BTNclone",indChamp}..X = 10 {"fenetre1.BTNclone",indChamp}..Y = 10
Comme tu le précises, le fait de changer de parent ne modifie pas les références de l'objet cloné, ce qui implique que le clone ne sera réellement supprimé que lorsque la fenetre d'origine du champ (ici *fenetre1*) sera fermée (donc attention au nom du clone qui devra être unique à chaque création et surtout aux ressources systèmes en cas de nombreux clonages répétitifs)
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Romuald.besset a émis l'idée suivante :
peut 'monter' dans une fenêtre un champ cloné depuis une autre... de là à le
manipuler, il faut conserver le lien fenInitiale.nomchamp et hop !
Oui effectivement, on peut ensuite changer le parent :
** fenetre1 qui contient le bouton BTN
** fenetre2
* Code d'initialisation (fenetre1 doit être ouverte):
// on clone le champ
ChampClone(fenetre1.BTN, "BTNclone", 0,0)
// on lui attribue fenetre2 comme nouveau parent
API("user32", "SetParent", Handle("fenetre1.BTNclone"), Handle())
// on manipule le clone sur la nouvelle fenetre
{"fenetre1.BTNclone",indChamp}..X = 10
{"fenetre1.BTNclone",indChamp}..Y = 10
Comme tu le précises, le fait de changer de parent ne modifie pas les
références de l'objet cloné, ce qui implique que le clone ne sera
réellement supprimé que lorsque la fenetre d'origine du champ (ici
*fenetre1*) sera fermée
(donc attention au nom du clone qui devra être unique à chaque création
et surtout aux ressources systèmes en cas de nombreux clonages
répétitifs)
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
peut 'monter' dans une fenêtre un champ cloné depuis une autre... de là à le manipuler, il faut conserver le lien fenInitiale.nomchamp et hop !
Oui effectivement, on peut ensuite changer le parent :
** fenetre1 qui contient le bouton BTN
** fenetre2 * Code d'initialisation (fenetre1 doit être ouverte): // on clone le champ ChampClone(fenetre1.BTN, "BTNclone", 0,0) // on lui attribue fenetre2 comme nouveau parent API("user32", "SetParent", Handle("fenetre1.BTNclone"), Handle()) // on manipule le clone sur la nouvelle fenetre {"fenetre1.BTNclone",indChamp}..X = 10 {"fenetre1.BTNclone",indChamp}..Y = 10
Comme tu le précises, le fait de changer de parent ne modifie pas les références de l'objet cloné, ce qui implique que le clone ne sera réellement supprimé que lorsque la fenetre d'origine du champ (ici *fenetre1*) sera fermée (donc attention au nom du clone qui devra être unique à chaque création et surtout aux ressources systèmes en cas de nombreux clonages répétitifs)
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)