Problème CreateDialog et afficher icone

Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005 - 10 janv. 2004 à 20:21
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005 - 10 janv. 2004 à 22:26
J'ai un petit problème avec CreateDialog, il y a aucun fenêtre qui s'ouvre (VC++ 6)

#include <Windows.h>
#include "resource.h"

HWND hDlg;
LRESULT CALLBACK MainProc(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam);

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     szCmdLine,
                     int       nCmdShow)
{

hDlg=CreateDialog(hInstance,(LPCTSTR)IDD_MAIN,NULL,(DLGPROC)MainProc);
   
   ShowWindow(hDlg,SW_SHOW);

      MSG msg;
 
  while(GetMessage(&msg,NULL,0,0)==TRUE)
   {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }

   return 0;
}

LRESULT CALLBACK MainProc(HWND dDlg,UINT message,WPARAM wParam,LPARAM lParam)
{

   int Select;
   switch(message)
   {
    case WM_USER:
   case WM_COMMAND:
      Select=LOWORD(wParam);
      switch(Select)
      {
         case IDCANCEL:
EndDialog(hDlg,0);
PostQuitMessage(0);
return TRUE;
}
   default:
      return FALSE;
   }
}

pourtant le nom de ma fenêtre est bien IDD_MAIN.

Et j'aimerais aussi mettre une îcone a mon application et aussi a mon dialog ! Mais tout les code que j'ai pris sur le site me sorte des erreur...

Merci d'avance

Suisse
------------------------------------------
Votre dévoué posseur de question :D

5 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
10 janv. 2004 à 20:50
bizarre, ce code marche chez moi.

Pour mettre un icone au prog, il suffit d'en mettre une dans l'editeur de resource

pour la mettre dans le dialogue :
ex avec un icone IDI_APPICON

HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPICON));

SendMessage(hDlg, WM_SETICON, TRUE, (LPARAM) hIcon);
SendMessage(hDlg, WM_SETICON, FALSE, (LPARAM) hIcon);
0
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
10 janv. 2004 à 21:33
J'ai trouvé le problème, ses la progressbar qui fesais que l'appli s'ouvrai po (un include arangeras surement le probl`me ;))

Sinon merci pour le code, mon appli a une icone mais le dialog lui veut pas :(
------------------------------------------
Votre dévoué posseur de question :D
0
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
10 janv. 2004 à 21:36
Pour l'îcone j'ai rien dit je l'avais mis avant le CreateDialog -_-' ! sinon pour le progress bar j,avais déja vue qqchose sur le site... sinon ya msdn :/
------------------------------------------
Votre dévoué posseur de question :D
0
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
10 janv. 2004 à 21:54
erf tu m'explique comment "initier" un status bar, j'ai beau prendre le code sur le site sa me fait faire que des erreur :/

sinon saUF SI JE me trompe SendMessage(GetDlgItem(hDlg,IDC_PROGRESS), PBM_SETPOS,60000, 0);

pour changé la valeur de la status ;)

Merci d'avance ;)

Suisse
------------------------------------------
Votre dévoué posseur de question :D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
10 janv. 2004 à 22:26
Trouvé !
cétait la .lib qui était pas la -_-! sinon pour les autre

#include <commctrl.h>
Projet->Setting->Link à Objet/library module "comctl32.lib"
Toute suite après winmain InitCommonControls();

Pour changé sa valeur SendMessage(GetDlgItem(hDlg,IDC_PROGRESS), PBM_SETPOS,50, 0);

hDlg par la fenêtre
IDC_PROGRESS par la progress
50 pour sa valeur (ici sur un max de 100)
------------------------------------------
Votre dévoué posseur de question :D
0
Rejoignez-nous