Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Deplacer une bitmap

8 réponses
Avatar
Christele
Bonjour,
Je dessine une image comme ceci,
=====================================================
hBitmap = LoadBitmap (hInstx,MAKEINTRESOURCE (ECHIQUIER)) ;
if(hBitmap)
{
Bitmap_transparente(hdc,hBitmap,10,500,0x0000FF00);
DeleteObject (hBitmap) ;
}


void DrawBitmap (HDC hdc, int xStart, int yStart, HBITMAP hBitmap)
{
BITMAP bm ;
HDC hMemDC ;
POINT ptx ;

hMemDC = CreateCompatibleDC (hdc) ;
SelectObject (hMemDC, hBitmap) ;
GetObject (hBitmap, sizeof (BITMAP), (PSTR) &bm) ;
ptx.x = bm.bmWidth ;
ptx.y = bm.bmHeight ;

BitBlt (hdc, xStart, yStart, ptx.x, ptx.y, hMemDC, 0, 0, SRCCOPY) ;

DeleteDC (hMemDC) ;
}
=====================================================
sur cette image j'en place d'autres plus petites mais que je veux déplacer.
Je n' ais pas trouver de fonction pour deplacer en une seule fonction, mais
je pourrais au moins suprimer une image et la réécrire avant ??

Quel code me proposez vous,

Merci d'avance

8 réponses

Avatar
Christian ASTOR
Christele wrote:

Je n' ais pas trouver de fonction pour deplacer en une seule fonction, mais
je pourrais au moins suprimer une image et la réécrire avant ??



Une façon de déplacer des bitmaps (comme on fait avec les icônes d'une
ListView, Desktop par ex) est avec les ImageLists
(ImageList_Create(), ImageList_AddMasked(), ImageList_BeginDrag(),
ImageList_DragEnter() , etc...)
Avatar
Christele
Je te remercies beaucoup , Je vais tester par cette méthode
Je vais voir comment elle est documentée.

C 'est gentil a toi,bon Dimanche.
Avatar
Christele
J' ais honte ... mais même enconnaissant le C, voila un domaine ou je
débutes.
Les recherches par google amênent sur des forum mais pas sur de vrais TOPOS
.

Alors je reviens vers vous, voila ce que j'ais fait,

En tête du programme

int index; // index de pointeur de liste
HIMAGELIST hPieces; // handles des images

PUIS PLUS BAS

void charge_pieces(void)
{
HBITMAP hMesPieces; // handle des BMP

hPieces=ImageList_Create( 32,32,TRUE,3,0); //ILC_MASK ??


hMesPieces=LoadBitmap (hInstx,MAKEINTRESOURCE (D32)) ;
if (ImageList_AddMasked(hPieces,hMesPieces,0x0000FF00)==-1) return ;

hMesPieces = LoadBitmap (hInstx,MAKEINTRESOURCE (DN32)) ;
if (ImageList_AddMasked(hPieces, hMesPieces,0x0000FF00) == -1) return ;

hMesPieces = LoadIcon ( hInstx, MAKEINTRESOURCE(R32));
if (ImageList_AddMasked(hPieces, hMesPieces,0x0000FF00) == -1) return ;
}

donc je penses que c' est le bon début car a la compilation j' ais zéro
erreurs.

Alors sachant gérer ma souris, inutile de m' aider sur ce point
Mais pouvez vous me montrer comment afficher en X0 et Y!0 (par exemple)
l'image numero 2 celle dont la ressouce est DN32

et si ce n' est pas trop demander, comment une fois affichée la déplacer par
exemple en X€ Y0 !

ce serait trop super pour moi ... de toute façon encore merci
Avatar
Christian ASTOR
Christele wrote:

J' ais honte ... mais même enconnaissant le C, voila un domaine ou je
débutes.
Les recherches par google amênent sur des forum mais pas sur de vrais TOPOS



Il y a toujours des exemples dans MSDN, la KB, ou la PSDK, pour quasi
toutes les apis.
Mais MS est en train de tout supprimer pour ce qui concerne SDK & Win32 API.
Le vieil exemple PSDK pour le Drag/Drop d'une ImageList s'appelle IMAGELST
Je l'ai mis sur savefile => http://www.savefile.com/files/1473120
Avatar
Sylvain SF
Christian ASTOR wrote on 30/03/2008 13:55:

Mais MS est en train de tout supprimer pour ce qui concerne SDK & Win32
API.



j'ai eu cette vague impression.
je dis impression car je n'ai pas lu d'annonce officielle de MS
anoncant la fin de vie de des APIs Win32.

simple mise à jour trop brutale des sites MS ou volonté délibérée ?

Sylvain.
Avatar
Christele
Excatement ce que je cherchais
Un grand grand merci à toi
Avatar
Martin
Sylvain SF wrote:
Christian ASTOR wrote on 30/03/2008 13:55:
Mais MS est en train de tout supprimer pour ce qui concerne SDK &
Win32 API.



j'ai eu cette vague impression.
je dis impression car je n'ai pas lu d'annonce officielle de MS
anoncant la fin de vie de des APIs Win32.

simple mise à jour trop brutale des sites MS ou volonté délibérée ?



C'est délibéré : ils misent tout sur .NET.
Et ça tue le métier : .NET, c'est surtout les plus jeunes qui s'en
servent, plus besoin d'expertise technique avec une boite noire
pré-programmée, accessible à n'importe quel débutant et donc chute des
salaires en conséquence.
Avatar
Sylvain SF
Martin wrote on 30/03/2008 18:57:

C'est délibéré : ils misent tout sur .NET.



je le voyais un peu comme cela hélas.
la sortie de vista n'avait-elle pas été en effet le dernier combat
des gardiens de la compatibilité (et des API Win32) contre les
fervants du hype.

Et ça tue le métier : .NET, c'est surtout les plus jeunes qui s'en
servent, plus besoin d'expertise technique avec une boite noire
pré-programmée, accessible à n'importe quel débutant et donc chute des
salaires en conséquence.



chute des salaires éventuellement, mise au placard des vieux cons comme
moi (nous?) peut-être; à vrai dire je m'inquiètais encore plus pour la
qualité des applications de demain.

Sylvain.