[API Win32]centrer une image mise en background

cs_sethesh Messages postés 1 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 7 mai 2004 - 7 mai 2004 à 17:20
sitesref Messages postés 40 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 31 juillet 2004 - 31 juil. 2004 à 17:40
Salut à tous dans une appli Win32 j'affiche une image en background en fond de ma fenetre principale. Cette image est centrée en haut a gauche par defaut. Je peux grace à ma fonction choisir une position sur la page ms en pixel. J'aimerai pouvoir directement centrer cette image dans la fenetre principale. Quelqu'un peut il m'aider?
Voici ma fonction que j'appel dans le case WM_PAINT :

//filename c le chemin vers limage
void BgBitmap(HWND hWnd, char *filename)
{
HBITMAP hBmp;
HDC hDC;
hBmp=(HBITMAP)LoadImage(NULL,filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hDC=GetDC(hWnd);
DrawState(hDC,NULL,NULL,(LPARAM)hBmp,NULL,0,0,0,0,DST_BITMAP);
DeleteObject(hBmp);
ReleaseDC(hWnd,hDC);
}

2 réponses

nonothedj Messages postés 17 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 21 juin 2005
7 mai 2004 à 17:46
Salut,

Je pense que dans ton DrawState, le dernier paramètre (les flags) il doit y en avoir qui permet de faire ce que tu veux. Mais je suis pas sur...
voilà

tcho
0
sitesref Messages postés 40 Date d'inscription vendredi 14 mars 2003 Statut Membre Dernière intervention 31 juillet 2004
31 juil. 2004 à 17:40
ben c tt bête: tu t'arranges pour que l'abscisse de ton image vale (Form1->Width - LargeurImage) / 2

et pr que l'ordonnée vale
(Form1->Height - HauteurImage) / 2

c tout.

++

Nicolas Nachtergaele
DeepBlue Software
0
Rejoignez-nous