begin process at 2012 05 30 10:07:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Multimédia

 > 

Tout petit problème avec DrawIcon


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

Tout petit problème avec DrawIcon

vendredi 28 juillet 2006 à 20:22:24 | Tout petit problème avec DrawIcon

MorbhAck

Bon bas voilà j'ai un tout petit problème avec DrawIcon. Quand j'execute mon programme ben il y a rien qui s'affiche ! Je programme avec Visual C++ 6.0 puis la compilation ne m'affiche aucune erreur.
AIDEZ moi ! S'il vous plait ! MERCI
vendredi 28 juillet 2006 à 21:28:47 | Re : Tout petit problème avec DrawIcon

racpp

Administrateur CodeS-SourceS
Salut,
DrawIcon() doit être utilisées pendant la traitement de WM_PAINT. Elle utilise le HDC fourni par BeginPaint(). Il faut s'assurer aussi que le handle de l'icone donné en dernier paramètre soit valide.
vendredi 28 juillet 2006 à 21:53:30 | Re : Tout petit problème avec DrawIcon

MorbhAck

Toujour rien ! Sa commence vraiment a me casser les C******* !

HICON        hIcon1;
HINSTANCE    hInstance;

    HDC                hDC;
    PAINTSTRUCT        ps;
    switch(msg)
    {
    case WM_CREATE:
        hIcon1 = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MBK));
        return 0;

    case WM_PAINT:
        hDC = BeginPaint(hWindow, &ps);
        DrawIcon(hDC, 0, 0, hIcon1);
        EndPaint(hWindow, &ps);
        return 0;

    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hWindow, msg, wParam, lParam);
}
vendredi 28 juillet 2006 à 22:02:15 | Re : Tout petit problème avec DrawIcon

racpp

Administrateur CodeS-SourceS
Tu dois déclarer hIcon1 en static:
static HICON hIcon1;
Il parait aussi que hInstance n'est pas initialisé. Tu peux simplement faire:
hIcon1 = LoadIcon(GetModuleHandle(0), MAKEINTRESOURCE(IDI_MBK));
vendredi 28 juillet 2006 à 22:09:49 | Re : Tout petit problème avec DrawIcon

MorbhAck

Bon ben chui modi ! Sa marche toujours pas. Il parait que avec DrawIconEx sa marche mieu VRAI ou FAUX
vendredi 28 juillet 2006 à 22:25:07 | Re : Tout petit problème avec DrawIcon

racpp

Administrateur CodeS-SourceS
DrawIcon() fonctionne parfaitement si tu veux juste afficher une icone sur ta fenêtre. DrawIconEx() permet, en plus, de faire d'autres opérations comme spécifier les dimensions de l'icone ou l'inverser etc.
Tu dois vérifier que ton icone est bien chargé en testant la valeur de retour de LoadIcon():

hIcon1 = LoadIcon(GetModuleHandle(0), MAKEINTRESOURCE(IDI_MBK));
if!hIcon1) MessageBox(0,"Icone non chargée.",0,0);



vendredi 28 juillet 2006 à 22:25:35 | Re : Tout petit problème avec DrawIcon

racpp

Administrateur CodeS-SourceS
if(!hIcon1) MessageBox(0,"Icone non chargée.",0,0);
vendredi 28 juillet 2006 à 22:35:54 | Re : Tout petit problème avec DrawIcon

MorbhAck

Effectivement mon icone n'est pas chargé mais comment résoudre se problème ???
Mon icone est bien dans les ressources il y a aussi #define IDI_MBK   1000. je comprend pas pourqoi elle se charge pas ! Et pourtant mon programme a une icone:
wndclass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MBK));
vendredi 28 juillet 2006 à 23:07:43 | Re : Tout petit problème avec DrawIcon

racpp

Administrateur CodeS-SourceS



Ta WndProc doit ressembler à ça:

LRESULT CALLBACK WndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static HICON        hIcon1;
    HDC                hDC;
    PAINTSTRUCT        ps;
    switch(msg)
    {
    case WM_CREATE:
        hIcon1 = LoadIcon(GetModuleHandle(0), MAKEINTRESOURCE(IDI_MBK));
        return 0;

    case WM_PAINT:
        hDC = BeginPaint(hWindow, &ps);
        DrawIcon(hDC, 0, 0, hIcon1);
        EndPaint(hWindow, &ps);
        return 0;

    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hWindow, msg, wParam, lParam);
}

Je viens de tester et ça marche sans problème.

vendredi 28 juillet 2006 à 23:12:00 | Re : Tout petit problème avec DrawIcon

MorbhAck

LOL ! : )
SA MARCHE PAS CHEZ MOI !!!!
LA ya plus de solution !

1 2 3

Cette discussion est classée dans : affiche, problème, programme, drawicon


Répondre à ce message

Sujets en rapport avec ce message

problème de session sous win XP [ par vdox05 ] Bonjour,J' aimerais savoir comment on fait pour savoir le nom de la session dans laquelle le programme est ouvert ...Par exemple si je veux mettre un Problème pour lire les fichiers audio dans un programme C++ [ par Nicolas ] Pour un projet C++ (linéaire),il souhaiterais réalisé une bibliothèque musical(.mp3, .wav). J'aurais besoin pour ca de lire les fichiers audio mais je problème de lib et de dll... [ par Raoul12 ] je programme sous vc++6 et j'aimerais savoir s'il est possible de faire appel à une dll externe à un programme principal sans avoir à recompiler le pr VC++ et ses bugs [ par Xentor609 ] salut à tous !J'ai un problème un peu spécial :j'utilise les sockets pour transférer des fichiers (en SOCK_STREAM). Le programme marche très bien mais Popup dans un popup [ par CyberP ] J'ai créé un programme dont la seule fenêtre est une DialogBox. J'ai rajouté une autre DialogBox pour le "A propos de" mais celle-ci ne s'affiche pas Problème - system() [ par Tub 95 ] Bonjour à tous,Je voudrais effectuer un petit programme en C qui me présente un menu enfin de lancer à partir de ce menu des application !Pour ceci j' Problème avec un programme qui marche sous XP sous Win2000/NT [ par Super Pouce ] Bonjour,J'au un programme qui fonctionne sous XP mais pas sous 2000 et NT. Le problème est identifié (voir la source)Source du fichierMerci de DialogBox qui ne s'affiche que sur mon PC [ par CyberP ] J'ai créé un programme dont l'interface est uniquement composée d'une dialogbox. Mais quand je donne le programme à quelqu'un d'autre sur le net (je n Decrypter et lancer programme exécutable [ par jockos ] J'ai un programme exéctuable (fichier .exe) qui est crypté.Je veux le décrypter et le lancer dans la foulée (l'exécuter).Le problème, c'est que quand problème de mémoire [ par ptitchep ] BonjourJe développe un jeux en c++ assembleur 16 bit avec borland c++ 4.5. J'aurais besoin d'une bonne quantité de mémoire (environ 1Mo) pour stocker


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,686 sec (4)

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