Bonjour Ekim,
tu peux t'inspirer de ça:
Code : Tout sélectionner
Global color=CreateSolidBrush_($FFDFFD)
Prototype.i p_SetWindowTheme(hWnd,SubAppName.p-unicode,SubIdList.p-unicode)
Procedure.i ClearWindowTheme(hWnd)
Protected SetWindowTheme_.p_SetWindowTheme
Protected SubAppName.s
Protected SubIdList.s
If OSVersion()>=#PB_OS_Windows_XP
If OpenLibrary(0,"UxTheme.dll")
SetWindowTheme_=GetFunction(0,"SetWindowTheme")
SetWindowTheme_(hWnd,SubAppName,SubIdList)
CloseLibrary(0)
EndIf
EndIf
EndProcedure
Procedure PanelCallback(Window,Message,wParam,lParam)
Result=#PB_ProcessPureBasicEvents
Select Message
Case #WM_CTLCOLORSTATIC; Fond
SetBkMode_(wParam,#TRANSPARENT)
SetTextColor_(wParam,#Red); ?????
Result=Color
EndSelect
ProcedureReturn Result
EndProcedure
OpenWindow(1,10,200,300,300,"coloriage d'un PanelGadget",#PB_Window_SystemMenu)
SetWindowColor(1,$FFDFFD)
HideWindow(1,1)
PanelGadget(1,5,10,290,100)
AddGadgetItem(1,-1,"Salut")
TextGadget(11,20,20,100,20,"Texte en Rouge")
TextGadget(12,20,40,100,20,"Texte en Bleu")
SetGadgetColor(11,#PB_Gadget_FrontColor,#Red)
SetGadgetColor(12,#PB_Gadget_FrontColor,#Blue)
CloseGadgetList()
ButtonGadget(90,20,200,120,25,"Ok")
ClearWindowTheme(GadgetID(1))
HideWindow(1,0)
SetClassLong_(GadgetID(1), #GCL_HBRBACKGROUND, color)
InvalidateRect_(GadgetID(1), #Null, #True)
SetWindowCallback(@PanelCallback())
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
DeleteObject_(Color)
ou de ça:
Code : Tout sélectionner
CreateImage(0, 68, 20)
StartDrawing(ImageOutput(0))
Box(0, 0, 68, 20, #Yellow)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(4, 2, "Standard", #Red)
StopDrawing()
CreateImage(1, 68, 20)
StartDrawing(ImageOutput(1))
Box(0, 0, 68, 20, #Green)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(4, 2, " Vert", #Black)
StopDrawing()
Imlist = ImageList_Create_(68, 20, #ILC_COLOR32, 2, 10)
ImageList_Add_(Imlist, ImageID(0), 0)
ImageList_Add_(Imlist, ImageID(1), 0)
OpenWindow(0, 0, 0, 400, 300, "Plein Contrôle du Panel Gadget coloré", #PB_Window_SystemMenu| #PB_Window_ScreenCentered)
PanelGadget(0, 10, 10, 380, 280)
SendMessage_(GadgetID(0), #TCM_SETPADDING, 0, 1|3<<16)
SendMessage_(GadgetID(0), #TCM_SETIMAGELIST, 0, Imlist)
AddGadgetItem(0, 0, "")
ButtonGadget(2, 10, 15, 100, 24, "Onglet 1 Bouton 1")
ButtonGadget(3, 115, 15, 100, 24, "Onglet 1 Bouton 2")
AddGadgetItem(0, 1, "")
ButtonGadget(4, 10, 15, 100, 24, "Onglet 2 Bouton 3")
ButtonGadget(5, 115, 15, 100, 24, "Onglet 2 Bouton 4")
CloseGadgetList()
t.TC_ITEM
t\mask = #TCIF_IMAGE
t\iImage = 0
SendMessage_(GadgetID(0), #TCM_SETITEM, 0, @t)
t\iImage = 1
SendMessage_(GadgetID(0), #TCM_SETITEM, 1, @t)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !