Afficher unu boite de dialgog contenant 1 OCX dans un prog C avec Visual Studio

timy94 Messages postés 50 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 7 janvier 2009 - 17 janv. 2006 à 09:33
timy94 Messages postés 50 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 7 janvier 2009 - 17 janv. 2006 à 15:25
J'ai bien sur réussi à insérer mon OCX (pour mon ex, un tout petit bouton) dans ma boite de dialog IDD_DIALOG1 (créé avec l'outil de Visial Studio. Puis l'utilise DialogBox et DialogProc pour afficher tout ce petit monde. Mais DialogBox me renvoi "-1", ne me m'affiche rien et mon mon prog se termine. La même boite de dialog sans l'OCX est affichée correctement par mon programme. Ci-joint mes quelques lignes de commandes. Sous le mode debug: je m'apperçcois que WM_COMMAND n'est pas détecté quand l'OCX est présent dans ma boite de dialog.

main {
//Mon programme
DialogBox(NULL,MAKEINTRESOURCE(IDD_DIALOG),NULL,DialogProc);
//La suite et fin de mon programme
}


//La fonction


int CALLBACK DialogProc ( HWND hwndDlg, UINT message, WPARAM wParam,LPARAM lParam) {


switch (message) {
case WM_COMMAND:
{
switch(LOWORD(wParam)) {
case IDCANCEL:
EndDialog(hwndDlg, 0);
Annuler = 1;
return TRUE;
break;
case IDOK:
EndDialog(hwndDlg,0);
Annuler = 0;
return TRUE;
break;
}
}

Une idée ? Faut-il utiliser une autre technique que les boites sans OCX et DLL. J'oubliais si j'utilise un OCX ou DLL présent dans la bibli de Visual Studio j'ai le même problème. Ce n'est pas mon OCX qui est en cause...

A+
Timy94</gras>

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 janv. 2006 à 11:40
racpp a fait plusieurs exemples:
http://www.codes-sources.com/listeauteur2.aspx?TID=295159

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
timy94 Messages postés 50 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 7 janvier 2009
17 janv. 2006 à 15:25
Bien j'ai été voir les exemples de racpp. Mais ce cher racpp est plus avancé que moi en la matière.
Alors que moi je veux seulement utiliser un tout petit activeX de la biblio de visual studio 5.
Je m'explique...

Dans mon projet, ma ressource est une simple boite de dialogue à laquelle j'inser un activeX.

-Dans la boite de dialog click droit et choix Insert ActiveX Control...
-Je choisi le LevelSlider, ActiveX de base de visual studio 5.
-CTRL S pour sauvegarder.
-Je teste la boite par l'outil test de visual, OK.
-Je lance mon appli, qui appel
DialogBox(NULL,MAKEINTRESOURCE(IDD_DIALOG),NULL,DialogProc);
-Dans ma fonction
int CALLBACK DialogProc ( HWND hwndDlg, UINT message, WPARAM wParam,LPARAM lParam)
je mets un point d'arrêt sur (mod debug) switch (message)
et je controle le message emis par WINDOWS, et j'ai
1° message N°30 WM_SETFONT
2° message N°02 WM_DESTROY
3° message N°82 WM_NCDESTROY et ça plante retour -1 de DialogBox

Alors que si je ne mets pas l'ActivieX LevelSlider dans ma boite de dialogue j'ai les messages suivants

1° message N°30 WM_SETFONT
2° message N°110 WM_INITDIALOG
3° message etc .... pour ensuite afficher correctement ma boite.

Alors ou est l'erreur!

Racpp ne m'est d'aucun secours!

Help meeeee!!!!!!!


Timy94</gras>
0
Rejoignez-nous