begin process at 2012 02 10 03:49:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

[api]Plusieurs images dans un dcMem, ou plusieurs dcMem


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

[api]Plusieurs images dans un dcMem, ou plusieurs dcMem

mardi 6 décembre 2005 à 20:27:28 | [api]Plusieurs images dans un dcMem, ou plusieurs dcMem

hoGan

Bonjour à tous,
j'aimerais pouvoir afficher plusieurs images l'une à la suite de l'autre en cliquant plusieurs fois sur un bouton. Voici la façon dont je procède:

[Note : les variables sont bien sûr toutes déclarées avant]

//--- Dans la fonction principale --- :
 hBitmap = LoadBitmap(wincl.hInstance, "IMAGE1");
GetObject(hBitmap, sizeof(BITMAP), &bm);
 hdc = GetDC(hwnd);
 hdcMem = CreateCompatibleDC(hdc);
hBitmap = (HBITMAP) SelectObject(hdcMem, hBitmap);
//-----------------------------------------------

//--- Dans la fonction de retour ---- :
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hDC = BeginPaint(hwnd, &ps);
     if(bButton == TRUE)
             {
            BitBlt(hDC, abscisse_image, 0,
            bm.bmWidth, 
              bm.bmHeight,
              hdcMem, 0, 0, SRCCOPY);
             }
 EndPaint(hwnd, &ps);
}
break;

case WM_COMMAND:
{
if(!bButton)bButton = TRUE;
abscisse_image = abscisse_image + 150;
InvalidateRect(hwnd, NULL, FALSE);
}
//-------------------------
Ce code fonctionne en ce qui concerne l'affichage successif d'images. Le problème, c'est que si j'abaisse puis remonte la fenêtre(perte de focus), seule la dernière image reste affichée.
Comment régler ce problème? Je veux que toutes les images soient présentes !
Je me suis dit qu'il fallait faire plusieurs dcMem; enfin je ne vois pas trop comment procéder :(

Merci
mardi 6 décembre 2005 à 20:59:23 | Re : [api]Plusieurs images dans un dcMem, ou plusieurs dcMem

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Il faut garder en mémoire l'indice i ou tu est rendu. Dans WM_COMMAND, tu fais i++ et dans WM_PAINT: abscisse_image = 0; for(int j = 0; j < i; j++) { BitBlt(hDC, abscisse_image, 0, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY); abscisse_image += 150; }
mercredi 7 décembre 2005 à 14:06:21 | Re : [api]Plusieurs images dans un dcMem, ou plusieurs dcMem

hoGan

Ca marche très bien merci beaucoup :D


Cette discussion est classée dans : images, hwnd, hdc, hbitmap, dcmem


Répondre à ce message

Sujets en rapport avec ce message

setpixel couleur [ par abdoulax ] Bonjour,Je voudrais écrire dans ma fenêtre pixel par pixel. Pour cela je souhaite passer par une zone mémoire temporaire avant de la recopier (une foi HDC -> HBITMAP [ par ndubien ] Bonjour,Comment convertir un HDC en HBITMAP?Merci d'avance et à bientôt... Nico Open Gl pépin [ par DarkNavius ] Chères personnes lisant mon message d'appel à l'aide.J'ai besoin d'aide au sujet d'un programme en opengl que j'ai construit en copiant et collant que Gestion optimisée du clavier avec l'API Win32 [ par Djazzyman ] Bonjour à tous !Je developpe des petits programmes Windows depuis peu sous Dev C++ 5 (version 4.9.9.2 beta).Jusqu'alors, je me contentais des simples LoadImage DevC++ [ par guitoulefoux ] Bonjour,Je cherche a mettre un fond d'écran dans ma form.Pour cela il faudrait que j'utilise loadimage.Je pense déjà avoir pas bien avancé (Merci BruN Screenmate defectueux [ par anthraxx ] Anthrax ignisque -- Le charbon et le feu J'essaye de faire un screenmate (une petite bestiole se promenant sur les fenetres), mais n'etant pas tres ex Une fenetre animee transparente [ par anthraxx ] Anthrax ignisque -- Le charbon et le feu C la seconde foi ke je poste sur ce sujet, mais j'ai un autre probleme. En gros: j'ai une fenetre transparent API, probleme de synchronisation?? refresh visible dans la dlg:( [ par JackosKing ] yOp,Bon voilà, je debute en API? et je voulais coder des menus persos, le probleme c'est que ma fenetre n'arrete pas de se refresh, meme quand il n'y Edit Control [ par cybermatthieu ] Bonjours,Je suis en Train d'apprendre comment progrmmer en Win32 avec la Class Windows.h. Ce petit programme ne fait q'afficher des caracter mais j'ai


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 4,103 sec (3)

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