Problème CreateDialog et afficher icone

Signaler
Messages postés
83
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2005
-
Messages postés
83
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2005
-
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

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
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);
Messages postés
83
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2005

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
Messages postés
83
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2005

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
Messages postés
83
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2005

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
Messages postés
83
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2005

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