PureBasic Visual Designer => mettre une image de fond ?

Sujets variés concernant le développement en PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message 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...
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message 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à...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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 !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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 !!
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

..
Dernière modification par Backup le mar. 19/août/2014 15:37, modifié 1 fois.
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Ha ok merci et excuse de t'embeter avec sa :wink:
Répondre