Probeme avec "CreateWindow" !

Signaler
Messages postés
39
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
5 novembre 2008
-
Messages postés
39
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
5 novembre 2008
-
Bjr, J'ai l'impression que j'ai un probleme avec CreateWindow, car je n'arrive pas à afficher dans la fenêtre principale un objet "edit", "bouton" et autres.
 J'ai tout essayé, y'a rien qui s'affiche :(

Avez vous des suggestions ?!

Merci d'avance.

HWND boutim;



HBITMAP hBmp;










HWND hWndEdit;




HANDLE hImg;













...

case
WM_CREATE:


//hBmp = LoadBitmap(hInst,(LPCWSTR)"IDB_BITMAP1");





//hBmp = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP1));




hImg = LoadImage(hInst, MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0, 0, 0);





if



(!hImg)

{




MessageBox(NULL, (LPCWSTR)


"Chargement des îcones", (LPCWSTR)"Erreur"
, 0);





return

NULL;




}




boutim = CreateWindow((LPCWSTR)

"button"
,




NULL, WS_CHILD | WS_VISIBLE | SS_BITMAP,



50, 50, 300, 225,



hWnd, 0, hInst, NULL);








SendMessage(boutim,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hImg); // hBmp




/*hWndEdit = CreateWindow((LPCWSTR)"EDIT", // We are creating an Edit control




NULL, // Leave the control empty



WS_CHILD | WS_VISIBLE | WS_HSCROLL |



WS_VSCROLL | ES_LEFT | ES_MULTILINE |



ES_AUTOHSCROLL | ES_AUTOVSCROLL,



0, 0, 0, 0, // Let the WM_SIZE messge below take care of the size



hWnd,



0,



hInst,



NULL);*/




break

;





/*case WM_SETFOCUS:




SetFocus(hWndEdit);



break;



case WM_SIZE:



MoveWindow(hWndEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);



break;*/

...

7 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
LPCWSTR donc tu es en UNICODE.
boutim = CreateWindow(L"BUTTON",....

ciao...
BruNews, MVP VC++
Messages postés
39
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
5 novembre 2008

merci chef, c'est déjà mieux. J'ai la zone que j'ai créé en gris mais pas l'objet ("edit" ou "button")  !!!
Messages postés
39
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
5 novembre 2008

excuse moi, pour "edit" c'est bon, mais le "button" pas ; ça doit clocher avec la bmp !
Messages postés
39
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
5 novembre 2008

hBmp = LoadBitmap(hInst, L"IDB_BITMAP1"
);  // => j'ai le MessageBox d'erreur au lancement
hBmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_BITMAP1)
);   // => zone grise affiché, pas le bmp !





if




(!hBmp){
   MessageBox(NULL, L"Chargement du bmp", L"Erreur"

, 0);
   return

NULL;
}


boutim = CreateWindow(L"BUTTON"


,
                                             NULL, WS_CHILD | WS_VISIBLE | SS_BITMAP,
                                             100, 50, 160, 160, 
                                             hWnd, 0, hInst, NULL);








SendMessage(boutim,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hBmp);
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Faut stopper le copier coller en espérant que ça aille, impossible en C/C++.

Etudie Petzold:
http://brunews.com/brunews/download/CP5.zip
http://brunews.com/brunews/download/CP5Sources.zip

ciao...
BruNews, MVP VC++
Messages postés
39
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
5 novembre 2008

Ok chef, merci bcp pour tes liens.

Cependant y'a pas un exp d'un objet "BUTTON" avec une bmp :(  donc à priori on crée un objet "STATIC" avec une bmp et on gère nous même le UP et DOWN ?!
Messages postés
39
Date d'inscription
samedi 20 mars 2004
Statut
Membre
Dernière intervention
5 novembre 2008

ça marche !

BS_BITMAP (pour "BUTTON")   au lieu de SS_BITMAP (pour "STATIC")




BM_SETIMAGE  (pour "BUTTON")  au lieu de   STM_SETIMAGE (pour "STATIC")





Merci pour ton aide