sebastienbro
Messages postés246Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention 5 août 2004
-
8 mai 2003 à 19:16
sebastienbro
Messages postés246Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention 5 août 2004
-
10 mai 2003 à 13:37
Bonjour,
je voudrai affiché un dialogue de façon modale, avec DialogBox. Comment on fé pour récupérer la handle du dialogue créer pour ensuite, utiliser SetDlgItemText.
Merci de me répondre
Ou sinon, comment rendre une fenetre modale avec CreateDialog, ca éviterai d'utiliser DialogBox.
sebastienbro
Messages postés246Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention 5 août 20042 8 mai 2003 à 20:16
C'est bien ca le problème, il me le faudrai juste apre l'apele de la fonction, pq le texte a mettre dans les static est contenu dasn des variables (c'est une dll) donc il me faudrai le handle juste apre la fonction.
sebastienbro
Messages postés246Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention 5 août 20042 9 mai 2003 à 18:42
En fait, g tout dans la dll. on apele une fonction, avec comme argumen le texte à affiché dans le le dialog. puis la fonction fait le reste (créé le dialog, change le texte)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 mai 2003 à 19:08
Je pense avoir saisi, tu me diras si NON, ok ?
Tu veux afficher juste une AboutBox, avec texte adaptable comme ce qui suit appel de CreateDialog();
Si cela:
BOOL CALLBACK AboutDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam)
{
switch(mssg) {
case WM_INITDIALOG:
// ICI tu mets le code de ta func AboutBox
return 1;
case WM_COMMAND:
if(wParam == IDCANCEL) EndDialog(hdlg, 0);
}
return 0;
}
Suppression de la fonction AboutBox puisque son code va dans l'event d'initialisation de la boite.
A sa place tu appelles:
DialogBox(hInstance, (LPCTSTR) 101, 0, AboutDlgProc);
Generalement en 3eme param faudrait le handle de la fenetre sur laquelle devient modale.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 mai 2003 à 19:24
Et comment tu fais pour le savoir dans ta func originale ?
Variables ne sont pas accessibles ???
Si NON, indique et je te donne le moyen.
BruNews, ciao...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 mai 2003 à 19:50
Tu as deja fait une struct pour passer les args, impec.
Donc tu remplaces par:
DialogBoxParam(hInstance, (LPCTSTR) 101, 0, AboutDlgProc, (long) &strucparams);
tu recuperes le ptr sur ta struct dans lparam dans event WM_INITDIALOG. Te suffira de mettre un cast quand tu te serviras de lparam.
BruNews, ciao...