begin process at 2012 02 11 04:02:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

comment afficher un icone dans la caption d'une boite de dialog


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment afficher un icone dans la caption d'une boite de dialog

jeudi 26 octobre 2006 à 12:50:10 | comment afficher un icone dans la caption d'une boite de dialog

Batman60

bonjour
comment afficher un icone dans la caption d'une boite de dialogue?
j'y arrive dans la fenêtre seulement
merci d'avance
le code:
#include <windows.h>

#include "resource.h"

DIALOG1 DIALOG
   60, 60, 320, 80
          STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
              CAPTION "Veuillez patienter chargement des textures"
             
BEGIN
    DEFPUSHBUTTON "Progress", IDOK, 56, 55, 42, 12
    ICON            "BATMAN",IDC_STATIC,10,53,21,20
    CTEXT           "???????????????????????????",IDC_STATIC,7,40,166,8
           
    CONTROL "", IDE_PB1, PROGRESS_CLASS, 0 ,10, 20, 300, 12
END
//////////////////////////////////////////////
BATMAN                  ICON    DISCARDABLE     "Batman 3.ico"

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
main.cpp
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                                  LPSTR lpCmdLine, int nCmdShow)
{
       InitCommonControls();
       DialogBox(hInstance,"DIALOG1",NULL,(DLGPROC)DlgProc);
       return 0;
}
/******************************************************************************/
 
BOOL APIENTRY DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
    switch (uMsg)
    {
      case WM_INITDIALOG:
         SendDlgItemMessage(hDlg, IDE_PB1, PBM_SETRANGE, 0, MAKELONG(0,40));
         SendDlgItemMessage(hDlg, IDE_PB1, PBM_SETSTEP, 1, 0);
         return TRUE;

      case WM_COMMAND:
         if (LOWORD(wParam) == IDOK)
              {
                   SendDlgItemMessage(hDlg, IDE_PB1, PBM_STEPIT, 0, 0);
                   return TRUE;
              }
         if (LOWORD(wParam) == IDCANCEL)
              {
                   EndDialog(hDlg,0);
                   return TRUE;
              }
      default:
         return FALSE;
    }
}

jeudi 26 octobre 2006 à 12:54:02 | Re : comment afficher un icone dans la caption d'une boite de dialog

BruNews

Administrateur CodeS-SourceS
SetClassLongPtr(hdlg, GCLP_HICON, (long)LoadIcon(hinst, MAKEINTRESOURCE(IDI_APP)));

ciao...
BruNews, MVP VC++
jeudi 26 octobre 2006 à 13:43:42 | Re : comment afficher un icone dans la caption d'une boite de dialog

yann_lo_san

OU

SendMessage((HWND)hDlg, WM_SETICON,(WPARAM)ICON_SMALL,(LPARAM)(HICON)hIcon);
jeudi 26 octobre 2006 à 13:55:07 | Re : comment afficher un icone dans la caption d'une boite de dialog

BruNews

Administrateur CodeS-SourceS
C'est une autre possibilité.
SetClassLong, à n'appeler qu'1 fois en debut de prog) permet d'avoir aussi les MessageBox avec la meme icone.

ciao...
BruNews, MVP VC++
jeudi 26 octobre 2006 à 13:59:36 | Re : comment afficher un icone dans la caption d'une boite de dialog

Batman60

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                                  LPSTR lpCmdLine, int nCmdShow)
{
       InitCommonControls();
       DialogBox(hInstance,"DIALOG1",NULL,(DLGPROC)DlgProc);
       SetClassLongPtr(hDlg, GCLP_HICON, (long)LoadIcon(hInstance,
         MAKEINTRESOURCE(IDI_APP)));

      
       return 0;
}
j'avoue que je suis nul en la matière ,j'ai essayé cela mais il y a une erreur "IDI_APP undeclared"
il faut le déclarer où et comment?
jeudi 26 octobre 2006 à 14:02:29 | Re : comment afficher un icone dans la caption d'une boite de dialog

yann_lo_san

WM_INITDIALOG !!!   (dans DLGPROC)

jeudi 26 octobre 2006 à 14:03:59 | Re : comment afficher un icone dans la caption d'une boite de dialog

BruNews

Administrateur CodeS-SourceS
Commence par Petzold sinon on est très mal:
http://brunews.com/brunews/download/CP5.zip
http://brunews.com/brunews/download/CP5Sources.zip

doit aller dans WM_INITDTALOG, tout de même évident.

ciao...
BruNews, MVP VC++
jeudi 26 octobre 2006 à 14:05:21 | Re : comment afficher un icone dans la caption d'une boite de dialog

BruNews

Administrateur CodeS-SourceS
j'en ai tapé comme un branquignole du coup, agrrrrr

merci yann

ciao...
BruNews, MVP VC++
jeudi 26 octobre 2006 à 14:09:09 | Re : comment afficher un icone dans la caption d'une boite de dialog

yann_lo_san

Et surtout il n'est pas dit que IDI_APP soit l'id de TON icon...

jeudi 26 octobre 2006 à 14:57:29 | Re : comment afficher un icone dans la caption d'une boite de dialog

DeAtHCrAsH

En attendant que tu lises ces tuto, voila de quoi répondre a ta question :

BOOL APIENTRY DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
    switch (uMsg)
    {
      case WM_INITDIALOG:
         SendDlgItemMessage(hDlg, IDE_PB1, PBM_SETRANGE, 0, MAKELONG(0,40));
         SendDlgItemMessage(hDlg, IDE_PB1, PBM_SETSTEP, 1, 0);
         SetClassLongPtr(hDlg, GCLP_HICON, (long)LoadIcon(hinst, MAKEINTRESOURCE(IDI_ICONMAIN)));
         return TRUE;      

      case WM_COMMAND:
         if (LOWORD(wParam) == IDOK)
              {
                   SendDlgItemMessage(hDlg, IDE_PB1, PBM_STEPIT, 0, 0);
                   return TRUE;
              }
         if (LOWORD(wParam) == IDCANCEL)
              {
                   EndDialog(hDlg,0);
                   return TRUE;
              }
      default:
         return FALSE;
    }
}

Il faut donc que tu rajoutes un icone dans ton fichier de ressource que tu appelleras IDI_ICONMAIN.


Shell


Cette discussion est classée dans : caption, ws, hdlg, ide, return


Répondre à ce message

Sujets en rapport avec ce message

probleme focus ? [ par sleeper41 ] bonjourvoila j ai 2 threads qui lance 2 dialogbox avec sur l un 1 bouton et sur l autre 1 editbox.mon but est quand j appuie sur le bouton d'ecrire le Application MDI [ par LordBob ] Bonjour a tous,voila j'essaie de créé ma première application MDI, mais j'ai beaucoup de mal, surtout que je n'ai pas trouvé de tutorial sur le net, e Problème de barre de status dans une application MDI [ par julien_boss ] Bonjour à tous :en réalité, je ne sais pas si mon problème est du à une barre de status, mais étant donné qu'il est apparu après la création de celle- contrôle EDIT retour à la ligne forcé [ par paramotdam ] Bonjour,J'ai créer une fenêtre (un peu comme msn) et j'ai créer un EDIT :hEdit[0]=CreateWindow("EDIT", "", WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_W création d'une listbox [ par lauremathieu ] Bonjour!Je suis en train de faire un petit programme en C pour un projet et je suis assez nulle en informatique en fait... Il s'agit d'une boite de di PROGRESSBAR [ par Batman60 ] bonjour je cherche comment rendre inutilisable un bouton de boite de dialogue après un premier clic dessus (en le grisant par exemple ou autre)mercivo Dialog fenetre enfant qui bloque [ par NairodDorian ] Bonjour,Mon probleme est le suivant, j'utilises les resources avec des dialog et je voudrai affiche un dialogue defini par Child dans les proprietes d Problème avec fichier manifest [ par Sceyllia ] Bonjour à tous, J'aurais besoin de l'avis de connaisseurs en c/c++ pour m'éclairer sur le soucis que j'ai depuis quelques semaines concernant ce morc Problème de récupération de valeur "fichier.csv" [ par fredrizk ] Bonjour J'ai écrit une fonction qui parcours un fichier.csv, retrouve les 2 valeurs que je lui donner et renvoi 2 valeurs correspondantes. Ensuite je installation de l'ide codeblocks [ par angouakaye ] bonjour à tous j'utilise ubuntu 10.04, j'ai installé codeblocs avec la commande sudo dpkg -i *.deb mais quand je lance mon IDE j'ai le message suivant


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales