Page 3 sur 3

Publié : jeu. 02/févr./2006 19:43
par Backup
Dr. Dri a écrit :C'est mal connaître Dobro :lol:
S'il avait une dent contre toi son post serait bien 10 fois plus gros
(et avec des smiley genre :mad: :evil: :snipersmile: :2gunfire:)
tout a fait :D

Publié : sam. 04/févr./2006 17:53
par wolfjeremy
Ben tout est cool alors #good

EDIT: Dobro j'ai esseyer ton code, mais c'est asser bizar l'image ne s'affiche pas... pourtant tout est bien mis comme dans le code que tu me donne mais juste adapter a mon code donc sa devrai aller :( en faite j'ai un fond gris et rien qui s'affiche... ni bouton ni image de fond...

Publié : sam. 04/févr./2006 21:21
par wolfjeremy
S'il vous plait me laisser pas tomber :cry: voila les partie du code qui font partie de mon programme :


Declare WindowCallback( WindowID ,Message,wParam,lParam)
Global bitmap
Global Form1,largeur,Hauteur
chemin_de_image$ = "images/mon-cb.bmp"

bitmap = LoadImage ( #image_interface_moncb ,chemin_de_image$)
largeur = ImageWidth ()
Hauteur = ImageHeight ()

;=======================================================================================

Procedure WindowCallback( WindowID ,Message,wParam,lParam)
res = #PB_ProcessPureBasicEvents
Select Message
Case #WM_PAINT
ps.PAINTSTRUCT
Hdc = BeginPaint_ (Form1,ps)
hdcMem = CreateCompatibleDC_ (Hdc)
SelectObject_ (hdcMem,bitmap)
BitBlt_ (Hdc,1,1,755,645,hdcMem,0,0, #SRCCOPY ) ; mettre le meme format que la fenetre !!!
ReleaseDC_ ( WindowID ( #fenetre_moncb ),Hdc)
DeleteDC_ (hdcMem)
DeleteObject_ (hdcMem)
EndPaint_ (Form1,ps)
ProcedureReturn #True
EndSelect
ProcedureReturn res
EndProcedure

;=======================================================================================

Procedure ouvre_fenetre_moncb()

SetWindowCallback (@WindowCallback())

Endprocedure


Bien sur il n'y a pas que sa mais j'ai mis juste les partie qui comprennent ton code... voila j'espere que quelqu'un pourra m'aider.

Donc je n'ai pas l'image de fond qui s'affiche, tout est gris et mes gadget ne s'affiche pas non plus.

Merci d'avance pour votre réponse.

P.S.: j'ai pas bien compris quand tu disait " ; mettre le meme format que la fenetre !!!" sa vien peut etre de là...

Publié : sam. 04/févr./2006 23:41
par Backup
pour mettre le meme format que la fenetre tu as plus haut ces 2 lignes

Code : Tout sélectionner

largeur =   ImageWidth   ()
Hauteur = ImageHeight ()
dans les variable globale "largeur" et "hauteur" tu recupere les infos
de taille (largeur,hauteur) de ton image
tu as les infos necessaire pour renseigner la ligne suivante

Code : Tout sélectionner

BitBlt_ (Hdc,1,1,755,645,hdcMem,0,0, #SRCCOPY ) ; mettre le meme format que la fenetre !!! 
actuellement tu force la fenetre au format 755X645



donc cette ligne devrai etre :

Code : Tout sélectionner


BitBlt_ (Hdc,1,1,largeur ,Hauteur,hdcMem,0,0, #SRCCOPY ) ; mettre le meme format que la fenetre !!! 
ce qui adaptera la fenetre au format de ton image !

Publié : sam. 04/févr./2006 23:49
par Backup
j'attire aussi ton attention sur ceci

Code : Tout sélectionner

  Form1= OpenWindow 
je met l'identifiant de la fenetre dans la variable Globale form1


c'est pourquoi dans la procedure callback tu as

Code : Tout sélectionner

  Procedure   WindowCallback(   WindowID   ,Message,wParam,lParam)
res = #PB_ProcessPureBasicEvents
Select Message
Case #WM_PAINT
ps.PAINTSTRUCT
Hdc = BeginPaint_ (Form1,ps)  <------ regarde la !!

evidement si ton open windows ne recupere pas l'identifiant de ta fenetre
dans la meme variable tu n'y arrivera pas !!

Publié : sam. 04/févr./2006 23:52
par Backup
..

Publié : dim. 05/févr./2006 14:12
par wolfjeremy
Ha ok merci et excuse de t'embeter avec sa :wink: