Image de fond

pmolina Messages postés 16 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 22 juillet 2004 - 11 mai 2004 à 17:04
pmolina Messages postés 16 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 22 juillet 2004 - 12 mai 2004 à 10:42
Bonjour,

Je realise une interface graphique avec devc++ en utilisant unidauement les api windows. Je dois mettre une image en fond et des boutons d'actions.

J'ai reussi a afficher l'image mais ds que la fenetre bouge mes boutons disparaisse sous l'image.

Comment rafraichir l'image sans que mes boutons ne disparaissent, ou comment les faire reapparatre ??

J'ai voulu utiliser la fonction fillrgn, mais l'image a appliquer dans la fenetre ne peut depasser 8*8 pixels.

actuellement je fais qq chose dans ce gout la pour raffraichir ma fenetre:
DrawState(hDC,NULL,NULL,(LPARAM)hBmplex,NULL,0,0,0,0,DST_BITMAP);

Voyez vous un moyen ??

Paul.

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 mai 2004 à 20:07
Va voir dans mes sources, deja fait.

ciao...
BruNews, Admin CS, MVP Visual C++
0
pmolina Messages postés 16 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 22 juillet 2004
12 mai 2004 à 10:42
merci, je viens de trouver tout à l'heure.

pour ceux qui veulent il suffit d'utiliser le message WM_Paint:
puis defaire BeginPaint de reafficher le fond et autres images avec drawstate et finir par endpaint.

je crois qu'il vaut mieux creer un HBITMAPstatic avec ses images pour eviter d'avoir a la recharger a chaque fois et ralentir son prog.

case WM_PAINT:
HDC hDC0;
PAINTSTRUCT ps;
hDC0=BeginPaint(hwndmain,&ps);

//Affichage de vos images
DrawState(hDC,NULL,NULL,(LPARAM)hBmplex,NULL,0,0,0,0,DST_BITMAP);

EndPaint(hwndmain,&ps);
return 0;
0
Rejoignez-nous