Comment mettre une couleur de fond ? et appeler une fenetre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
foliop
Messages : 1
Inscription : jeu. 16/sept./2004 15:28

Comment mettre une couleur de fond ? et appeler une fenetre

Message par foliop »

salut

je suis debutant etjai ouvert PureBasic

cest genial mais jai des soucis :
- comment mettre une couleur de fond a mon programme ? quel code je dois mettre ?

jai des boutons et je voudrais que quand on clique ca affiche qqch de differents sur ma fenetre programme

si qqun peut maider :)
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

bonjour
et bienvenu sur purebasic

je comprend pas ta question

tu veux creer une fenetre et mettre de la couleur dedans?

as tu regarder les tutorials d'ici ?
Jbernard13
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

oui moi aussi j'aimerai pouvoir en cliquand sur un boutton pouvoir choisir une liste de font pour ma fenetre merci :D :wink:
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Venom : de Font (police de caractère) ou de fond ?

Pour mettre une image ou une couleur de fond à une fenêtre, il faut utiliser les API Windows et cela ne marche pas avec la version Démo ( si tu as bien la version démo)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

si tu as une version enregistré tu fais un truc du genre

Code : Tout sélectionner

 ;Ce code vient du Forum Anglais

Global bitmap
Global Form1

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,299,299,hdcMem,0,0,#SRCCOPY)
            ReleaseDC_(WindowID(0),hdc)
            DeleteDC_(hdcMem)
            DeleteObject_(hdcMem)
            EndPaint_(Form1,ps)
            ProcedureReturn #True
            
        Case #WM_COMMAND
            If lParam=GadgetID(0)
                NomFichier$ = OpenFileRequester("Choisir une image", "c:\", "Images|*.bmp", 0) 
                Image = LoadImage(0, NomFichier$)
            EndIf   
    EndSelect
    ProcedureReturn res
EndProcedure

Procedure Open_Window()
    Form1=OpenWindow(0,0,0,300,300,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"")
    If Form1
        If CreateGadgetList(Form1)
            ButtonGadget(0,10,10,200,20,"Sample Button")
        EndIf
        SetWindowCallback(@WindowCallback())
    EndIf
EndProcedure

NomFichier$ = OpenFileRequester("Choisir une image", "c:\", "Images|*.bmp", 0) 
bitmap = LoadImage(0, NomFichier$)
Open_Window()

Repeat
    Event=WaitWindowEvent()
Until Event=#PB_EventCloseWindow
End
djmcg
Messages : 139
Inscription : sam. 28/août/2004 6:37

Message par djmcg »

je vais peut être un peu vite... j'ai pas encore fouillé.
Je m'y risque
peut-on insérer d'autre format que bmp.
Une photo par exemple en format jpeg.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

oui ! tu exagere un poil !!

une recherche dans la doc de purebasic a la fonction

Code : Tout sélectionner

 LoadImage(#Image, FichierImage$) 
t'aurai donné
Resultat = LoadImage(#Image, FichierImage$)
Description

Lit l'image contenue dans FichierImage$. Si #PB_Any est utilisé pour le paramètre '#Image', l'identifiant de la nouvelle image sera renvoyé dans 'Resultat'. L'image peut être au format BMP (non compressé), icône ou dans un des formats supportés par la bibliothèque ImagePlugin. Si la fonction renvoie 0, le chargement a échoué, sinon, tout va bien. Les commandes suivantes peuvent être utilisées pour activer automatiquement davatange de formats d'images:

UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseTGAImageDecoder()


OS Supportés

Windows, Linux
on va se retrouver comme dans le forum du Dark basic avec des gens qui pose des questions , alors que la reponse est tres clair dans la DOC

QUE L'ON APPELLE AVEC LA TOUCHE DE FONCTION "F1"
LA PREMIERE TOUCHE A COTE DE LA TOUCHE "ECHAP"
:evil: ...............

:D
djmcg
Messages : 139
Inscription : sam. 28/août/2004 6:37

Message par djmcg »

Désolé je ferais pu. :oops:
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

...

Sujet déplacé vers Discussion générale
Dernière modification par nico le dim. 19/sept./2004 10:42, modifié 2 fois.
djmcg
Messages : 139
Inscription : sam. 28/août/2004 6:37

Message par djmcg »

attend, je sais pas si je suis en faute mais j'ai dit désolé
je ne le ferais plus.
je découvre et je m'apercois des ressource ma prochaine question je la poserais quand je serais au bout de mes possibilité.
Donc excuse moi s'il te plait...
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

T'ennerves pas, on ne vas pas te manger mais en ce moment, on a un peu trop du message de ce type et ça ennerve un peu :wink:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
djmcg
Messages : 139
Inscription : sam. 28/août/2004 6:37

Message par djmcg »

Merci :oops:
Bonne journée a tous.
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

bonjour c'est toujour moi :( desoler mais est-ce qu'on peut metre une image gif ou jpeg ou bmp en fond d'ecrant .
car j'ai biensur chercher dans le fichier d'aide mais je ne comprend pas bien puis j'ai essayer de placer les codes dans ma page de code mais sans succes pour plus d'indice voici mon code

Code : Tout sélectionner

Resultat = InitMovie()  

 Enumeration 
  #Window_0 
EndEnumeration 

  
Enumeration 
  #liste 
  #play 
  #StopMovie 
  #Image 
  #PauseMovie 
EndEnumeration 


Procedure Open_Window_0() 
 If OpenWindow(0,0,0,700,400,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered,"audio player 1.0")  
  If CreateGadgetList(WindowID()) 
      ButtonGadget(#liste, 2, 1, 138, 30, "LISTE   ~~") 
      ButtonGadget(#play, 140, 1, 140, 30, "LECTURE   >") 
      ButtonGadget(#PauseMovie, 280, 1, 140, 30, "PAUSE   II", #PB_Button_Toggle ) 
      ButtonGadget(#StopMovie, 420, 1, 140, 30,"STOP  #") 
      ButtonGadget(#Image, 560, 1, 140, 30, "VISUALISATION"): DisableGadget(3,1)
  
      EndIf 
        EndIf 
        
EndProcedure 


Open_Window_0() 

Repeat 
  
  Event = WaitWindowEvent() 
  
  If Event = #PB_EventGadget 
  
    
    GadgetID = EventGadgetID() 
    
    If GadgetID = #liste 
    
          NomFichier$ = OpenFileRequester("Titre", "::{450d8fba-ad25-11d0-98a8-0800361b1103}\" , "Fichiers|*.*", 0) 
      LoadMovie(1, NomFichier$) 
    
    ElseIf GadgetID = #play  
      
      PlayMovie(1, FenetreID)  
          
    ElseIf GadgetID = #StopMovie 
    
    StopMovie() 
    
    ElseIf GadgetID = #Image 
    
      NomFichier$ = OpenFileRequester("Titre", "::{450d8fba-ad25-11d0-98a8-0800361b1103}\" , "Fichiers|*.*", 0) 
      LoadImage(1, NomFichier$) 
      
      ElseIf GadgetID = #PauseMovie 
      If GetGadgetState(#PauseMovie) = 1 
        PauseMovie() 
      Else 
        ResumeMovie() 
      EndIf 

      
    EndIf 
    
  EndIf 
  
Until Event = #PB_EventCloseWindow 

End  
:? je sait c'est un peut charabia ce que je demande mais j'arrive pas a metre une image ou meme une barre de recherche dans ma page a moi :cry:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

solution :

Code : Tout sélectionner

 Resultat = InitMovie() 
Declare WindowCallback(WindowID,message,wParam,lParam)
Declare Open_Window_0()
Global bitmap
Global Form1
UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseTGAImageDecoder() 


 Enumeration
  #Window_0
EndEnumeration

 
Enumeration
  #liste
  #play
  #StopMovie
  #Image
  #PauseMovie
EndEnumeration



  


NomFichier$ = OpenFileRequester("Choisir une image", "c:\", "Images|*.bmp", 0)
bitmap = LoadImage(0, NomFichier$) 
Open_Window_0()



Repeat
  
  Event = WaitWindowEvent()
  
  If Event = #PB_EventGadget
    
    
    GadgetID = EventGadgetID()
    
    If GadgetID = #liste
      
      NomFichier$ = OpenFileRequester("Titre", "::{450d8fba-ad25-11d0-98a8-0800361b1103}\" , "Fichiers|*.*", 0)
      LoadMovie(1, NomFichier$)
      
    ElseIf GadgetID = #play 
      
      PlayMovie(1, FenetreID) 
      
    ElseIf GadgetID = #StopMovie
      
      StopMovie()
      
    ElseIf GadgetID = #Image
      
    ElseIf GadgetID = #PauseMovie
      If GetGadgetState(#PauseMovie) = 1
        PauseMovie()
      Else
        ResumeMovie()
      EndIf
      
      
    EndIf
    
  EndIf
  
Until Event = #PB_EventCloseWindow

End 



Procedure Open_Window_0()
  Form1=OpenWindow(0,0,0,700,400,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered,"audio player 1.0") 
  If Form1 
    If CreateGadgetList(Form1)
      ButtonGadget(#liste, 2, 1, 138, 30, "LISTE   ~~")
      ButtonGadget(#play, 140, 1, 140, 30, "LECTURE   >")
      ButtonGadget(#PauseMovie, 280, 1, 140, 30, "PAUSE   II", #PB_Button_Toggle )
      ButtonGadget(#StopMovie, 420, 1, 140, 30,"STOP  #")
      ButtonGadget(#Image, 560, 1, 140, 30, "VISUALISATION"): DisableGadget(3,1) 
    EndIf
    SetWindowCallback(@WindowCallback()) 
  EndIf
EndProcedure
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,699,399,hdcMem,0,0,#SRCCOPY) ; mettre le meme format que la fenetre !!!(700-1*400-1)
      ReleaseDC_(WindowID(0),hdc)
      DeleteDC_(hdcMem)
      DeleteObject_(hdcMem)
      EndPaint_(Form1,ps)
      ProcedureReturn #True
      
    Case #WM_COMMAND
      If lParam=GadgetID(0)
        NomFichier$ = OpenFileRequester("Choisir une image", "c:\", "Images|*.bmp", 0)
        Image = LoadImage(0, NomFichier$)
      EndIf   
  EndSelect
  ProcedureReturn res
EndProcedure 
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

je te remercie dobro mais :( je sait pas si c'est par ce que j'ai la version demo mais le code que tu a rajouter ne fonctionne pas :(

Code : Tout sélectionner

    Case #WM_PAINT 
      ps.PAINTSTRUCT 
      hdc=BeginPaint_(Form1,ps) 
      hdcMem=CreateCompatibleDC_(hdc) 
      SelectObject_(hdcMem,bitmap) 
      BitBlt_(hdc,1,1,699,399,hdcMem,0,0,#SRCCOPY) ; mettre le meme format que la fenetre !!!(700-1*400-1) 
      ReleaseDC_(WindowID(0),hdc) 
      DeleteDC_(hdcMem) 
      DeleteObject_(hdcMem) 
      EndPaint_(Form1,ps) 
      ProcedureReturn #True 
      
    Case #WM_COMMAND 
      If lParam=GadgetID(0) 
        NomFichier$ = OpenFileRequester("Choisir une image", "c:\", "Images|*.bmp", 0) 
        Image = LoadImage(0, NomFichier$) 
      EndIf    
  EndSelect 
  ProcedureReturn res 
EndProcedure 
sa me met des erreur et je doit les effacer mais bon si je les effaces sa revient au code d'avant chu trop degouter merci quand meme dobro tan pi je ferais sans c'est con sa me fait une pages toute grise bon tan pi :?
la je cherche a faire une barre de recherche qui dure le temps de la musique ou du film tu voie quoi donc je vais aller voir quoi dans f1 vu que je peut pas metre d'image bon tant pi merci quand meme :wink: :D
Répondre