begin process at 2010 02 10 02:09:38
  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 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 Question à propos de DrawText [ par Freeman2222 ] Hello tlm! J'ai écrit une application windows qui m'affiche du texte dans un rectange prédéfini mais le prob c'est que DrawText ne revient pas automat API :: gestion du mulo [ par JackosKing ] LRESULT CALLBACK Twiny::WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ static bool activate = FALSE; switch ( message ) { case WM_MO


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,718 sec (3)

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