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