Convertir une ressource RT_DIALOG en HWND contenant ses enfants HWND

Le
Miel
Bonjour,

Je souhaiterai convertir un numéro de ressource en HWND .

J'utilise la fonction :
HWND hc=CreateDialog(
hInst,
MAKEINTRESOURCE(IDD_DIALOG1),
hWnd,
DialogProc
);
Mais ce n'est pas trés adapté.

Je souhaiterai ,créer un HWND contenant les controles selon disposés
dans la ressource IDD_DIALOG1.

La solution serait de copier controle par controle , mais je souhaite
que ce soit en automatique.

Merci de votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jerome
Le #17852751
Miel wrote:
Bonjour,

Je souhaiterai convertir un numéro de ressource en HWND .

J'utilise la fonction :
HWND hc=CreateDialog(
hInst,
MAKEINTRESOURCE(IDD_DIALOG1),
hWnd,
DialogProc
);
Mais ce n'est pas trés adapté.

Je souhaiterai ,créer un HWND contenant les controles selon disposés
dans la ressource IDD_DIALOG1.

La solution serait de copier controle par controle , mais je souhaite
que ce soit en automatique.



C'est pas clair ton truc.
CreateDialog est bien fait pour créer une Dialog box à partir de la
resource. quel est le problème exactement ? pourquoi dis-tu "ce n'est
pas très adapté" ?
Miel
Le #17853951
Jerome a écrit :
Miel wrote:
Bonjour,

Je souhaiterai convertir un numéro de ressource en HWND .

J'utilise la fonction :
HWND hc=CreateDialog(
hInst,
MAKEINTRESOURCE(IDD_DIALOG1),
hWnd,
DialogProc
);
Mais ce n'est pas trés adapté.

Je souhaiterai ,créer un HWND contenant les controles selon disposés
dans la ressource IDD_DIALOG1.

La solution serait de copier controle par controle , mais je souhaite
que ce soit en automatique.



C'est pas clair ton truc.
CreateDialog est bien fait pour créer une Dialog box à partir de la
resource. quel est le problème exactement ? pourquoi dis-tu "ce n'est
pas très adapté" ?



Je souhaiterai créer un HWND à partir d'une ressource.
Sachant que le HWND n'est pas une boite de dialogue , c'est pour
l'incorporer dans un container.
Jerome
Le #17854761
Miel wrote:

Je souhaiterai créer un HWND à partir d'une ressource.
Sachant que le HWND n'est pas une boite de dialogue , c'est pour
l'incorporer dans un container.



Mais si c'est une resource de type RT_DIALOG, le HWND résultant ne peut
être qu'une boite de dialogue
Miel
Le #17854931
Jerome a écrit :
Miel wrote:

Je souhaiterai créer un HWND à partir d'une ressource.
Sachant que le HWND n'est pas une boite de dialogue , c'est pour
l'incorporer dans un container.



Mais si c'est une resource de type RT_DIALOG, le HWND résultant ne peut
être qu'une boite de dialogue



Mettre tous ce qui à dans la ressource RT_DIALOG dans le HWND
Serge Paccalin
Le #17855291
Le samedi 15 novembre 2008 à 20:12:51, Miel a écrit dans
fr.comp.os.ms-windows.programmation :

Jerome a écrit :
Miel wrote:

Je souhaiterai créer un HWND à partir d'une ressource.
Sachant que le HWND n'est pas une boite de dialogue , c'est pour
l'incorporer dans un container.



Mais si c'est une resource de type RT_DIALOG, le HWND résultant ne peut
être qu'une boite de dialogue



Mettre tous ce qui à dans la ressource RT_DIALOG dans le HWND



Je crois que j'ai fait un truc dans ce genre, il y a longtemps. C'était
une boîte de config avec une liste d'icônes à gauche, et une partie
droite qui changeait en fonction de l'icône sélectionnée. J'avais une
ressource DIALOG pour chaque partie droite possible.

De mémoire, je faisais un CreateDialog() invisible, puis un
EnumChildWindows() et SetParent() pour transférer tous les contrôles du
dialog vers la fenêtre définitive. Sous toutes réserves.

--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Christian ASTOR
Le #17855481
Miel wrote:

Mettre tous ce qui à dans la ressource RT_DIALOG dans le HWND



Il faut charger la structure DLGTEMPLATE ou DLGTEMPLATEEX
(FindResource() - LoadResource() - LockResource())
puis tout scanner avec notamment les DLGITEMTEMPLATE(EX) pour les contrôles
Mais c'est complexe (alignements) et ça revient à faire ce que fait
CreateDialogIndirectParam()
Sylvain SF
Le #17855831
Miel a écrit :

Je souhaiterai créer un HWND à partir d'une ressource.
Sachant que le HWND n'est pas une boite de dialogue , c'est pour
l'incorporer dans un container.



Mais si c'est une resource de type RT_DIALOG, le HWND résultant ne
peut être qu'une boite de dialogue



Mettre tous ce qui à dans la ressource RT_DIALOG dans le HWND



un HWND créé depuis un DITL (resource dialog et CreateDialog)
et un HNWD créé par code (CreateWindow) sont quasi-identiques,
ce qui change vraiment c'est le traitement que tu en fais,
insertion ou non dans un frame et traitement modal ou non,
tu es libre de faire ce qui est pertinent pour ton UI.

Sylvain.
Publicité
Poster une réponse
Anonyme