si regis est là peux t'il me repondre svp ..

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

si regis est là peux t'il me repondre svp ..

Message par bernard13 »

bonjour et joyeuse paques

voila je suis entrain d'etudier comment crée un skin
j'ai pris comme exemple un bout de code que le SOLDAT INCONNU( regis pour les intimes) a avais ecris c'etait pour connaitre la vitesse d'un disque dur
j'ai repris le code et j'ai garder que la skin que j'etudie mais j'ai des petites questions a demander :

Couleur = GetSysColor_(#COLOR_3DFACE)
que veux dire cette ligne je sais qu'elle sait afficher la couleur de fond mais comment changer la couleur de fond ?

pourquoi mettre :
#WS_BORDER | #WS_SYSMENU | #WS_MINIMIZEBOX |
au lieu de #PB_Window_BorderLess | #PB_Window_SystemMenu |#PB_Window_MaximizeGadget ?

et aussi
If OpenWindow(0, 0, 0, #WinX + 2 * #Bordure, #WinY,
qui eux m'expliquer le code svp

merci si regis viens sur le forum qi il peux me repondre
j'ai juste changer des couleur mais c'est tout

merci
Jbernard

Code : Tout sélectionner


 Procedure de la librairie ColorEffect 

Procedure.l ColorLuminosity2(Couleur, Echelle.f) ; Eclaicir ou foncer une couleur 
  Protected Rouge, Vert, Bleu 
  
  Rouge = Red(Couleur) * Echelle 
  Vert = Green(Couleur) * Echelle 
  Bleu = Blue(Couleur) * Echelle 
  
  If Rouge > 155 : Rouge =155 : EndIf 
  If Vert > 255 : Vert = 255 : EndIf 
  If Bleu > 155 : Bleu = 155 : EndIf 
  
  ProcedureReturn RGB(Rouge, Vert, Bleu) 
EndProcedure 
;



;- Debut de l'exemple 

; Création de la fenêtre et de la GadgetList 
#WinX = 200 
#WinY = 125 
#Bordure = 2 

If OpenWindow(0, 0, 0, #WinX + 2 * #Bordure, #WinY, #PB_Window_BorderLess | #WS_BORDER | #WS_SYSMENU | #WS_MINIMIZEBOX | #PB_Window_ScreenCentered, "Disque dur") = 0 Or CreateGadgetList(WindowID()) = 0 
  End 
EndIf 

; Couleur de fond de la fenêtre 
Couleur = GetSysColor_(#COLOR_3DFACE) 

 

; Titre 
CreateImage(1, #WinX + 2 * #Bordure, 25) 
StartDrawing(ImageOutput()) 
For n = 0 To 24
   Line(0, n, #WinX + 2 * #Bordure, 0, ColorLuminosity2(Couleur, 1.1 - 0.2 * n / 24)) 
  Next 
  ; On dessine le texte du titre 
  LoadFont(0, "Arial", 9, #PB_Font_Bold) 
  DrawingFont(FontID()) 
  FrontColor(0, 0, 255) 
  DrawingMode(1) 
  Locate(50, 5) 
  DrawText("Exemple de skin ")
  
StopDrawing() 

  
; On affiche les gadgets 
ImageGadget(0, 0, 0, #WinX + 2 * #Bordure, 25, UseImage(1)) 

ImageGadget(#PB_Any, #Bordure, #WinY - #Bordure * 2 - 21 - 2, #WinX, 2, UseImage(0)) ; Bordure de séparation 
ButtonGadget(4, #Bordure, #WinY - #Bordure - 21, #WinX, 21, "Quitter") 


Repeat 
  Event = WaitWindowEvent() 
  
  If Event = #PB_EventGadget 
    Select EventGadgetID() ; Gadgets 
      
      Case 0 ; On clique sur le titre 
        SendMessage_(WindowID(), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) ; On déplace la fenêtre tant que le bouton de la souris reste appuyé 
        
      Case 4 ; Appui sur le bouton quitter 
        Event = #PB_EventCloseWindow 
    EndSelect 
  EndIf 
  
  
Until Event = #PB_EventCloseWindow 

End
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Re: si regis est là peux t'il me repondre svp ..

Message par Oliv »

Bon je sais que l'orthographe et la conjugaison ne sont pas ton fort, et tout le monde fait des fautes sur le forum, moi le premier mais relis toi quand même :
bernard13 a écrit : le SOLDAT INCONNU a avais ecris c'etait
là tu as QUATRE verbes à la suite 8O

Sinon joyeuses paques à toi aussi et
Couleur = GetSysColor_(#COLOR_3DFACE)
Renvoi la couleur de windows pour cet élement : http://msdn.microsoft.com/library/defau ... scolor.asp

Pour le reste je ne peux pas te répondre :oops:
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

merci Oliv
desoler pour les fautes ...
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Couleur = GetSysColor_(#COLOR_3DFACE)
ce code renvoir la couleur de élément 3D de win, soit typiquement la couleur de fond des fenêtres.
pour changer la couleur de fond, regarde sur 2DEV, il y a un exemple si je ne me trompe pas

Code : Tout sélectionner

OpenWindow(0, 0, 0, #WinX + 2 * #Bordure, #WinY, #PB_Window_BorderLess | #WS_BORDER | #WS_SYSMENU | #WS_MINIMIZEBOX | #PB_Window_ScreenCentered, "Disque dur")
arf, un peu d'API windows
#WS_BORDER donne un cadre noir autour de la fenêtre

#WS_SYSMENU crée le systemmenu pour la fenêtre (faire clic droit sur le bouton de la fenêtre dans la barre des tâches)
il te suffit d'essayer pour comprendre la différence avec #PB_Window_SystemMenu (avec cette valeur, on ne peut pas faire de fenêtre sans bordure)

Code : Tout sélectionner

OpenWindow(0, 0, 0, 200, 200, #PB_Window_BorderLess | #WS_SYSMENU | #PB_Window_ScreenCentered, "Test")

Repeat
  
Until WaitWindowEvent() = #PB_Event_CloseWindow

OpenWindow(0, 0, 0, 200, 200, #PB_Window_BorderLess | #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Test")

Repeat
  
Until WaitWindowEvent() = #PB_Event_CloseWindow

If OpenWindow(0, 0, 0, #WinX + 2 * #Bordure, #WinY,
qui eux m'expliquer le code svp
La tu abuses, il n'y a a rien de compliquer, les valeurs des constantes sont au début du code
#WinX = 200 : taille de la fen en x
#WinY = 125 : taille de la fen en y
#Bordure = 2 : taille d'une zone vide autour de la fen pour faire une bordure
tu n'as qu'à changer ces valeurs pour changer les dimensions de la fenêtre ;) et tu comprendras de suite

le SOLDAT INCONNU( regis pour les intimes)
hum, bof, c'est soit Régis avec une majuscule soit le Le Soldat Inconnu mais y'a pas de pour les intimes qui tiennes :lol:
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)]
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

merci regis pour ton aide
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

bernard13 a écrit :merci regis pour ton aide
C'est pas Régis avec la majuscule et un E accent aigu ? :lol:
Répondre