HDC vers HBITMAP [Résolu]

Messages postés
165
Date d'inscription
samedi 4 juin 2005
Dernière intervention
24 octobre 2007
- - Dernière réponse : julien_boss
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Dernière intervention
24 octobre 2007
- 5 juin 2007 à 16:18
Bonjour,
j'ai un DC, contenant un dessin..., je souhaite pouvoir transférer son contenu dans un bitmap de type HBITMAP, afin ensuite de la mettre dans le clipboard.
Je sais mettre une image de type HBITMAP dans le clipboard mais pas comment transférer le contenu d'un DC vers un HBITMAP.
Si vous pouviez m'aider sur ce coup ;)
Merci
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Dernière intervention
14 novembre 2014
3
Merci
Salut,
Voici un petit code que je viens d'écrire. Il est mis dans le traitement de WM_PAINT. Il dessine un rectangle blanc sur la fenêtre puis écrit un petit texte en rouge. Il crée un HDC en mémoire  compatible avec l'affichage écran. Ensuite, il crée un bitmap compatible. Ce dernier est sélectionné dans notre HDC compatible. On copie dans ce dernier une portion du contenu de la fenêtre grâce à BitBlt(). Enfin, on met le HBITMAP dans le clipboard. Pour tester, je le colle dans un nouveau document Word. Ca marche parfaitement.
    case WM_PAINT:
        {
            PAINTSTRUCT ps;
            HDC hdc=BeginPaint(hwnd,&ps);
            Rectangle(hdc,10,10,60,60);
            SetTextColor(hdc,RGB(255,0,0));
            TextOut(hdc,10,10,TEXT("123456"),6);
            HDC cDC=CreateCompatibleDC(0);
            HBITMAP hbmp=CreateCompatibleBitmap(hdc,100,100);
            SelectObject(cDC,hbmp);
            BitBlt(cDC,0,0,100,100,hdc,0,0,SRCCOPY);
            OpenClipboard(hwnd);
            EmptyClipboard();
            SetClipboardData(CF_BITMAP,hbmp);
            CloseClipboard();
            DeleteObject(hbmp);
            DeleteDC(cDC);
            EndPaint(hwnd,&ps);
            return 0;
        }

Merci racpp 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de racpp
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Dernière intervention
24 octobre 2007
0
Merci
Ok merci j'ai compris le principe.
A bientot
Commenter la réponse de julien_boss

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.