J'aimerai savoir comment faire pour rendre transparent un slider SVP?
J'ai vu 2-3 choses sur internet, mais c'est avec une image de fond, moi j'utilise la fonction _GUICtrlCreateGradient().
Merci par avance pour votre aide.
► Afficher le texte
Code : Tout sélectionner
Opt("GUIOnEventMode", 1)
Opt("MouseCoordMode", 2)
;==[Include]====
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#Include <File.au3>
#include <Array.au3>
#include <SliderConstants.au3>
#include <ListviewConstants.au3>
#include <ScreenCapture.au3>
#include <Timers.au3>
#include <GuiStatusBar.au3>
#include <Color.au3>
#include <Date.au3>
#include <GuiListView.au3>
;==[Global variables]====
Global $PathOfCSVFile, $ApplicationName, $CellsFile, $MainGUI, $Child, $Wcurve = 800, $Left = 50
Global $hStatus, $aParts[3] = [180, 400, 150], $iTimer1, $Color1 = 0x000000, $Color2 = 0x00f0ff;0xe5e5e5
;==[Program]====
_BuildMainGUI()
While GUIGetMsg() <> -3
WEnd
Func _BuildMainGUI();Main Graphical User Interface
$MainGUI = GUICreate("", 1200, 730, -1, -1)
$Size = WinGetClientSize($MainGUI)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$hStatus = _GUICtrlStatusBar_Create($MainGUI)
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", $hStatus, "wstr", 0, "wstr", 0)
_GUICtrlStatusBar_SetBkColor($hStatus, 0xf2e300)
$hIcons = _WinAPI_LoadShell32Icon(265); 233 -> Icon ATTENTION,
_GUICtrlStatusBar_SetIcon($hStatus, 0, $hIcons)
GUIRegisterMsg($WM_TIMER, "WM_TIMER")
$iTimer1 = _Timer_SetTimer($MainGUI, 1000)
$Slider = GUICtrlCreateSlider($Left, 440, $Wcurve, 20, $TBS_NOTICKS + $TBS_TOP + $TBS_FIXEDLENGTH)
GUICtrlSetLimit(-1, $Wcurve/1, 0)
GUICtrlSendMsg($slider, $TBM_SETTHUMBLENGTH, 16, 0)
;GUICtrlSetBkColor($Slider,0xABCDEF)
$LV = GUICtrlCreateListView("Mini|Valeur|Maxi|Date|Réference|ID Logique|Texte résultat", $Left, 500, $Wcurve, 70)
$LVitem = GuiCtrlCreateListViewItem("||||||", $LV)
_GUICtrlCreateGradient($Color1, $Color2, 0, 0, $Size[0], $Size[1])
GUISetState()
;$Answer = MsgBox(4, $ApplicationName, "Afficher la courbe?")
;If $Answer = 6 Then
_BuildTheCurve()
;Else
; Return
;EndIf
EndFunc;==>_BuildMainGUI()
Func _BuildTheCurve()
$Child = GUICreate("Curve", $Wcurve, 400, $Left, 10, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_MDICHILD, $WS_EX_COMPOSITED), $MainGUI)
$g = GUICtrlCreateGraphic(0, 0, 800, 400);$grafic_width
GUICtrlSetGraphic($g, $GUI_GR_PENSIZE, 1)
GUICtrlSetBkColor(-1, 0xffffff)
GUISetState()
EndFunc
Func _GUICtrlCreateGradient($nStartColor, $nEndColor, $nX, $nY, $nWidth, $nHeight)
Local $color1R = _ColorGetRed($nStartColor)
Local $color1G = _ColorGetGreen($nStartColor)
Local $color1B = _ColorGetBlue($nStartColor)
Local $nStepR = (_ColorGetRed($nEndColor) - $color1R) / $nHeight
Local $nStepG = (_ColorGetGreen($nEndColor) - $color1G) / $nHeight
Local $nStepB = (_ColorGetBlue($nEndColor) - $color1B) / $nHeight
GuiCtrlCreateGraphic($nX, $nY, $nWidth, $nHeight)
For $i = 0 To $nHeight - $nY
$sColor = "0x" & StringFormat("%02X%02X%02X", $color1R + $nStepR * $i, $color1G + $nStepG * $i, $color1B + $nStepB * $i)
GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $sColor, 0xffffff)
GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 0, $i)
GUICtrlSetGraphic(-1, $GUI_GR_LINE, $nWidth, $i)
Next
EndFunc
Func My_GUICtrlListView_AutoSizeColumns($LV, $iMini = 0)
If Not IsHWnd($LV) Then $LV = GUICtrlGetHandle($LV)
Local $hHeader = _GUICtrlListView_GetHeader($LV), $iHeader_Width, $iData_Width
_GUICtrlListView_BeginUpdate($LV)
For $iIndex = 0 To _GUICtrlListView_GetColumnCount($LV) - 1
If _GUICtrlListView_GetColumnWidth($LV, $iIndex) = 0 Then ContinueLoop
_GUICtrlListView_SetColumnWidth($LV, $iIndex, $LVSCW_AUTOSIZE_USEHEADER)
$iHeader_Width = _GUICtrlListView_GetColumnWidth($LV, $iIndex)
If @OSVersion = "WIN_XP" And $iIndex < _GUICtrlListView_GetColumnCount($LV) - 1 Then
If _GUICtrlHeader_GetItemFlags($hHeader, $iIndex) / 2 > 1 Then $iHeader_Width += 30
EndIf
_GUICtrlListView_SetColumnWidth($LV, $iIndex, $LVSCW_AUTOSIZE)
$iData_Width = _GUICtrlListView_GetColumnWidth($LV, $iIndex)
If $iHeader_Width > $iData_Width Then
_GUICtrlListView_SetColumnWidth($LV, $iIndex, $iHeader_Width)
EndIf
If _GUICtrlListView_GetColumnWidth($LV, $iIndex) < $iMini Then
_GUICtrlListView_SetColumnWidth($LV, $iIndex, $iMini)
EndIf
Next
_GUICtrlListView_EndUpdate($LV)
EndFunc ;==>My_GUICtrlListView_AutoSizeColumns
Func WM_TIMER($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $ilParam
Switch _Timer_GetTimerID($iwParam)
Case $iTimer1
_UpdateStatusBarClock()
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_TIMER
Func _UpdateStatusBarClock()
_GUICtrlStatusBar_SetText($hStatus, @TAB & StringFormat(_NowDate() & " " & "%02d:%02d:%02d", @HOUR, @MIN, @SEC), 0)
EndFunc
Func _Exit()
Exit
EndFunc;==>Exit()


