Functions > GUI > GUICtrlUpdate >


GUICtrlSetBkColor

Définit la couleur de fond d'un contrôle.

GUICtrlSetBkColor ( controlID, backgroundcolor )

Paramètres

controlID L'identifiant du contrôle tel que retourné par une fonction GUICtrlCreate...(), ou -1 pour désigner le dernier contrôle créé.
backgroundcolor La couleur RVB à utiliser.

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0.

Remarques

Seuls les contrôles Button, Label, Checkbox, Group, Radio, Edit, Input, List, Listview, ListviewItem, Treeview, TreeviewItem, Graphic, Progress, Slider et Combo peuvent actuellement être colorés.

Les contrôles Progress ne peuvent pas être peints si le "style Windows XP" est utilisé.
Les contrôles Checkbox, Radio, Groupe Progrès, Combo ne peuvent pas être peints si le "style de Windows XP/Vista" est utilisé.

Les contrôles Button sont toujours peints en "style Windows Classique". Ils ne peuvent pas avoir le style $BS_ICON.

Le flag spécial $GUI_BKCOLOR_TRANSPARENT peut être utilisé avec es contrôles Label, Group, Radio, Checkbox pour leur donner un fond transparent.

Le flag spécial $GUI_BKCOLOR_LV_ALTERNATE peut être utilisé avec le contrôle ListView pour lui donner un fond différent suivant les lignes des ListviewItems.
Les lignes impaires obtiendront la couleur définie par GUICtrlSetBkColor() du contrôle ListView.
Les lignes paires auront la couleur définie par GUICtrlSetBkColor() du contrôle ListViewItem.

En relation

GUICtrlCreate..., GUICtrlSetColor, GUICtrlSetDefBkColor

Exemple

Exemple 1

#include <ColorConstants.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    ; Crée une GUI avec différents contrôles.
    Local $hGUI = GUICreate("Example", 300, 200)

    ; Crée un contrôle Label.
    Local $idLabel = GUICtrlCreateLabel("A string of text", 10, 10, 185, 17)
    Local $idClose = GUICtrlCreateButton("Close", 210, 170, 85, 25)

    ; Définit la couleur de fond du contrôle Label.
    GUICtrlSetBkColor($idLabel, $COLOR_RED)

    ; Affiche la GUI.
    GUISetState(@SW_SHOW, $hGUI)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Local $idMsg
    Do
        $idMsg = GUIGetMsg()
    Until $idMsg = $GUI_EVENT_CLOSE Or $idMsg = $idClose

    ; Supprime la GUI précédente et tous ses contrôles.
    GUIDelete($hGUI)
EndFunc   ;==>Example


Exemple 2

#include <ColorConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>

Example()

Func Example()
    ; Crée une GUI avec une listview.
    Local $hGUI = GUICreate("Colored ListView Items", 250, 170, 100, 200, -1)
    Local $idListview = GUICtrlCreateListView("col1|col2|col3", 10, 10, 230, 150)

    ; Alterne entre la couleur du fond de la listview et la couleur du fond des items de la listview.
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE)

    ; Définit la couleur du fond de la listview.
    ; Les items pairs de la listview seront de la couleur du fond de la listview,
    ; Les impairs avec la couleur du fond des items de la listview.
    GUICtrlSetBkColor(-1, $COLOR_AQUA)

    ; Crée des items de la listview et définit la couleur de fond pour chacun d'eux.
    GUICtrlCreateListViewItem("item1|col12|col13", $idListview)

    ; La ligne suivante pourrait être supprimée lorsque la couleur de fond est tirée de la listview.
    GUICtrlSetBkColor(-1, $COLOR_GREEN)
    GUICtrlCreateListViewItem("item2|col22|col23", $idListview)
    GUICtrlSetBkColor(-1, $COLOR_GREEN)
    GUICtrlCreateListViewItem("item3|col32|col33", $idListview)

    ; ; La ligne suivante pourrait être supprimée lorsque la couleur de fond est tirée de la listview.
    GUICtrlSetBkColor(-1, $COLOR_GREEN)

    ; Change la couleur d'un seul item de la listview.
    GUICtrlCreateListViewItem("Now|change|color", $idListview)
    GUICtrlSetBkColor(-1, $COLOR_LIME)
    GUICtrlCreateListViewItem("item5|col52|col53", $idListview)

    ; La ligne suivante pourrait être supprimée lorsque la couleur de fond est tirée de la listview.
    GUICtrlSetBkColor(-1, $COLOR_GREEN)
    GUICtrlCreateListViewItem("item6|col62|col63", $idListview)
    GUICtrlSetBkColor(-1, $COLOR_GREEN)
    GUISetState(@SW_SHOW, $hGUI)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
 
    ; Supprime la GUI précédente et tous ses contrôles
    GUIDelete($hGUI)
EndFunc   ;==>Example