[R] TreeView et couleur de fond dans un Tab
Posté : mar. 25 févr. 2025 16:32
Bonjour à tous,
Je cherche une solution de contournement pour ma TreeView ne soit pas cachée par la fonction...
J'ai éssayé avec un label et d'autres combinaisons, sans succès
Si une âme charitable passait par là je serai ravi d'apprendre de mes érreurs.
Je cherche une solution de contournement pour ma TreeView ne soit pas cachée par la fonction...
Code : Tout sélectionner
Func _GUICtrlTab_SetBkColor($hWnd, $hSysTab32, $sBkColor)
Si une âme charitable passait par là je serai ravi d'apprendre de mes érreurs.
Code : Tout sélectionner
#include <Array.au3> #include <ColorConstants.au3> #Include <EditConstants.au3> #include <File.au3> #include <FontConstants.au3> #include <GuiComboBox.au3> #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <GuiRichEdit.au3> #include <GDIPlus.au3> #include <GuiTab.au3> #include <GUIConstants.au3> #include <GUIConstantsEx.au3> #include <GuiTreeView.au3> #include <WinAPI.au3> __________0_Creation_De_La_GUI() __________1_Creation_Des_Tabs_Et_Redimensionnement_Automatique() __________2_Creation_Des_Fonction_Du_Tab_Configuration_Et_Redimensionnement_Automatique() __________4_Creation_Des_Fonction_Des_Tabs_Devis_Acompte_Facture_Et_Redimensionnement_Automatique() Func __________0_Creation_De_La_GUI() If IsDeclared( "Debug") And $Debug Then ConsoleWrite( "Line = "&@ScriptLineNumber &", "& "Func " &@CRLF) Global $Title = "Bdd Gestion clientelle v1.0" Global $X = -1, $Y = -1, $W = 210, $H = 297, $Zoom = StringFormat("%.2f", 2.5) ; Dimentions de la GUI ;~ Global Const $hGui = GUICreate( $Title, $W*$Zoom+24, $H*$Zoom+74, $X, $Y, $WS_MINIMIZEBOX+$WS_SYSMENU+$WS_CAPTION, $WS_EX_ACCEPTFILES) ;$WS_OVERLAPPEDWINDOW, $WS_EX_ACCEPTFILES) Global Const $hGui = GUICreate( $Title, $W*$Zoom+24, $H*$Zoom+74, $X, $Y, $WS_OVERLAPPEDWINDOW, $WS_EX_ACCEPTFILES) GUISetFont( 10) GUISetStyle(BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUPWINDOW, $WS_THICKFRAME), 0) ;~ GUISetStyle(BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUPWINDOW, $WS_THICKFRAME), BitOR($WS_EX_CLIENTEDGE, "")) EndFunc Func __________1_Creation_Des_Tabs_Et_Redimensionnement_Automatique() If IsDeclared( "Debug") And $Debug Then ConsoleWrite( "Line = "&@ScriptLineNumber &", "& "Func " &@CRLF) Local $X_Tab = 5, $Y_Tab = 5, $W_Tab = $W*$Zoom, $H_Tab = $H*$Zoom Global Const $id_Tab = GUICtrlCreateTab( $X_Tab, $Y_Tab, $W_Tab+16, $H_Tab+65), $h_Tab = GUICtrlGetHandle( $id_Tab) GUICtrlSetResizing( $id_Tab, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM) GUICtrlSetFont( $id_Tab, 12) ; === Onglet n°1 à 4 === Global Const $id_Tab_Sheet_0 = GUICtrlCreateTabItem("⚙ Configuration") Global Const $id_Tab_Sheet_1 = GUICtrlCreateTabItem("❔ Devis") Global Const $id_Tab_Sheet_2 = GUICtrlCreateTabItem("🕗 Acompte") Global Const $id_Tab_Sheet_3 = GUICtrlCreateTabItem("✔️ Facture") GUICtrlCreateTabItem("") ; === Couleur Onglet n°0 === $vRet = _Set_Tab_id( $id_Tab_Sheet_0, 1) ; Selctionne Tab 0 _GUICtrlTab_SetBkColor( $hGui, $id_Tab , 0xCCCCFF) Global $id_Tab_Sheet_Color_0 = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1)) ; Func _GetLastCtrlID() GUICtrlSetResizing( -1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM) $vRet = _Set_Tab_id( $id_Tab_Sheet_0) ; === Couleur Onglet n°1 === $vRet = _Set_Tab_id( $id_Tab_Sheet_1, 1) ; Selctionne Tab 1 _GUICtrlTab_SetBkColor( $hGui, $id_Tab , 0xCCCCFF) Global $id_Tab_Sheet_Color_1 = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1)) ; Func _GetLastCtrlID() GUICtrlSetResizing( -1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM) $vRet = _Set_Tab_id( $id_Tab_Sheet_1) ; === Couleur Onglet n°2 === $vRet = _Set_Tab_id( $id_Tab_Sheet_2, 1) ; Selctionne Tab 2 _GUICtrlTab_SetBkColor( $hGui, $id_Tab , 0xCCCCFF) Global $id_Tab_Sheet_Color_2 = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1)) ; Func _GetLastCtrlID() GUICtrlSetResizing( -1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM) $vRet = _Set_Tab_id( $id_Tab_Sheet_2) ; === Couleur Onglet n°3 === $vRet = _Set_Tab_id( $id_Tab_Sheet_3, 1) ; Selctionne Tab 3 _GUICtrlTab_SetBkColor( $hGui, $id_Tab , 0xCCCCFF) Global $id_Tab_Sheet_Color_3 = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1)) ; Func _GetLastCtrlID() GUICtrlSetResizing( -1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM) $vRet = _Set_Tab_id( $id_Tab_Sheet_3) EndFunc Func __________2_Creation_Des_Fonction_Du_Tab_Configuration_Et_Redimensionnement_Automatique() $vRet = _Set_Tab_id( $id_Tab_Sheet_0, 1) ; === Tab n°0 === ⚙ Configuration ;~ $vRet = _Set_Tab_id( $id_Tab_Sheet_1, 1) ; === Tab n°1 === ❔ Devis ;~ $vRet = _Set_Tab_id( $id_Tab_Sheet_2, 1) ; === Tab n°2 === 🕗 Acompte ;~ $vRet = _Set_Tab_id( $id_Tab_Sheet_3, 1) ; === Tab n°2 === ✔️ Facture Local $aPos = ControlGetPos ( $hGui , "" , $id_Tab) ;~ _ArrayDisplay( $aPos, "$aPos") Global $id_Nom_Entreprise = GUICtrlCreateInput( "Nom de votre société ici", $aPos[0]+5, $aPos[1]+35, $aPos[2]-12-10, 20) Global $Nom_Entreprise = GUICtrlRead( $id_Nom_Entreprise) GUICtrlSetTip( -1, "Modifiez ici le nom" &@CRLF& "de votre société") GUICtrlSetResizing( -1, BitOr( $GUI_DOCKLEFT, $GUI_DOCKRIGHT, $GUI_DOCKTOP, $GUI_DOCKSIZE)) Global $Folder = ".\BDD" & "\" Global $Folder_Configuration_GUI = $Folder & "Configuration_Du_Logiciel.txt" Global $Folder_Entreprise = $Nom_Entreprise & "\" ;~ Global $Folder_Entreprise_Configuration_TXT = $Folder_Configuration & "Configuration.txt" Global $Tree_0 = _GUICtrlTab_GetItemText( $id_Tab, 0) & "\" ; ⚙ Configuration Global $Tree_1 = _GUICtrlTab_GetItemText( $id_Tab, 1) & "\" ; ❔ Devis Global $Tree_2 = _GUICtrlTab_GetItemText( $id_Tab, 2) & "\" ; 🕗 Acompte Global $Tree_3 = _GUICtrlTab_GetItemText( $id_Tab, 3) & "\" ; ✔️ Facture #Region TREEVIEW ONE Local $aPos = ControlGetPos ( $hGui , "" , $Nom_Entreprise) Global $idTreeView_Folder = GUICtrlCreateTreeView( $aPos[0], $aPos[1]+35, $aPos[2]-12, 140) Global $hTreeView_Folder = ControlGetHandle( $hGui, "", $idTreeView_Folder) GUICtrlSetFont( -1, 10) GUICtrlSetTip( -1, '#Region TREEVIEW ONE') Global $idRoot = GUICtrlCreateTreeViewItem( $Folder , $idTreeView_Folder) ; ".\BDD" & "\" Global $idRoot_Tree_Entreprise = GUICtrlCreateTreeViewItem( $Folder_Entreprise , $idRoot) ; $Nom_Entreprise & "\" Global $idRoot_Tree_Dossier_Clients_Configuration = GUICtrlCreateTreeViewItem( $Tree_0 , $idRoot_Tree_Entreprise) ; ⚙ Configuration Global $idRoot_Tree_Dossier_Clients_Devis = GUICtrlCreateTreeViewItem( $Tree_1 , $idRoot_Tree_Entreprise) ; ❔ Devis Global $idRoot_Tree_Dossier_Clients_Acompte = GUICtrlCreateTreeViewItem( $Tree_2 , $idRoot_Tree_Entreprise) ; 🕗 Acompte Global $idRoot_Tree_Dossier_Clients_Factures = GUICtrlCreateTreeViewItem( $Tree_3 , $idRoot_Tree_Entreprise) ; ✔️ Facture Global $idRoot_Tree_Configuration_GUI = GUICtrlCreateTreeViewItem( $Folder_Configuration_GUI , $idTreeView_Folder) ; $Folder & "Configuration_Du_Logiciel.txt" Local $aPos = ControlGetPos ( $hGui , "" , $idTreeView_Folder) Global $id_Folder = GUICtrlCreateInput( "", $aPos[0], $aPos[1]+135, $aPos[2]-12-10, 20) Global $Folder_Entreprise_s = $Folder & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0") ; Global $Folder_Entreprise_Dossiers_Clients_Configuration = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#0") ; ⚙ Configuration Global $Folder_Entreprise_Dossiers_Clients_Devis = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#1") ; ❔ Devis Global $Folder_Entreprise_Dossiers_Clients_Acompte = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#2") ; 🕗 Acompte Global $Folder_Entreprise_Dossiers_Clients_Factures = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#3") ; ✔️ Facture _GUICtrlTreeView_Expand( $idTreeView_Folder) #EndRegion TREEVIEW ONE __________3_Mise_A_Jour_De_La_TreeView_Configuration_De_L_Interface() EndFunc Func __________3_Mise_A_Jour_De_La_TreeView_Configuration_De_L_Interface() $Var1 = ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0") $Var2 = GUICtrlRead( $id_Nom_Entreprise) & "\" If $Var1 <> $Var2 Then GUICtrlSetData( $idRoot_Tree_Entreprise, GUICtrlRead( $id_Nom_Entreprise) & "\") Global $Folder_Entreprise = ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0") ; $Nom_Entreprise & "\" Global $Folder_Entreprise_s = $Folder & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0") ; Global $Folder_Entreprise_Dossiers_Clients_Configuration = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#0") ; ⚙ Configuration Global $Folder_Entreprise_Dossiers_Clients_Devis = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#1") ; ❔ Devis Global $Folder_Entreprise_Dossiers_Clients_Acompte = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#2") ; 🕗 Acompte Global $Folder_Entreprise_Dossiers_Clients_Factures = $Folder & $Folder_Entreprise & ControlTreeView( $hGui, "", $hTreeView_Folder, "GetText", "#0|#0|#3") ; ✔️ Facture EndIf EndFunc Func __________4_Creation_Des_Fonction_Des_Tabs_Devis_Acompte_Facture_Et_Redimensionnement_Automatique() If IsDeclared( "Debug") And $Debug Then ConsoleWrite( "Line = "&@ScriptLineNumber &", "& "Func " &@CRLF) ; === Onglet n°1 === $vRet = _Set_Tab_id( $id_Tab_Sheet_1, 1) ; === Tab n°1 === ❔ Devis Global $id_ComboBox_Tab_1 = GUICtrlCreateCombo("", 38, 36, $W*$Zoom-22*3 - 40, 20, $CBS_DROPDOWNLIST) GUICtrlSetTip( -1, "Liste déroulante des " & _GUICtrlTab_GetItemText( $id_Tab, 1) & " classée par" &@CRLF& "numéros, date, Noms et Prénoms") GUICtrlSetResizing( -1, BitOr( $GUI_DOCKLEFT, $GUI_DOCKRIGHT, $GUI_DOCKTOP)) ; === Onglet n°2 === $vRet = _Set_Tab_id( $id_Tab_Sheet_2, 1) ; === Tab n°2 === 🕗 Acompte Global $id_ComboBox_Tab_2 = GUICtrlCreateCombo("", 38, 36, $W*$Zoom-22*3 - 40, 20, $CBS_DROPDOWNLIST) GUICtrlSetTip( -1, "Liste déroulante des " & _GUICtrlTab_GetItemText( $id_Tab, 2) & " classée par" &@CRLF& "numéros, date, Noms et Prénoms") GUICtrlSetResizing( -1, BitOr( $GUI_DOCKLEFT, $GUI_DOCKRIGHT, $GUI_DOCKTOP)) ; === Onglet n°3 === $vRet = _Set_Tab_id( $id_Tab_Sheet_3, 1) ; === Tab n°2 === ✔️ Facture Global $id_ComboBox_Tab_3 = GUICtrlCreateCombo("", 38, 36, $W*$Zoom-22*3 - 40, 20, $CBS_DROPDOWNLIST) GUICtrlSetTip( -1, "Liste déroulante des " & _GUICtrlTab_GetItemText( $id_Tab, 3) & " classée par" &@CRLF& "numéros, date, Noms et Prénoms") GUICtrlSetResizing( -1, BitOr( $GUI_DOCKLEFT, $GUI_DOCKRIGHT, $GUI_DOCKTOP)) EndFunc GUISetState(@SW_SHOW) _Set_Tab_id( $id_Tab_Sheet_0) While True $msg = GUIGetMsg() Switch $msg Case GUICtrlRead( $id_Nom_Entreprise) __________3_Mise_A_Jour_De_La_TreeView_Configuration_De_L_Interface() Case $idRoot ControlSetText( $hGui, "", $id_Folder, $Folder) Case $idRoot_Tree_Entreprise ControlSetText( $hGui, "", $id_Folder, $Folder_Entreprise_s) Case $idRoot_Tree_Dossier_Clients_Configuration ControlSetText( $hGui, "", $id_Folder, $Folder_Entreprise_Dossiers_Clients_Configuration) Case $idRoot_Tree_Dossier_Clients_Devis ControlSetText( $hGui, "", $id_Folder, $Folder_Entreprise_Dossiers_Clients_Devis) Case $idRoot_Tree_Dossier_Clients_Acompte ControlSetText( $hGui, "", $id_Folder, $Folder_Entreprise_Dossiers_Clients_Acompte) Case $idRoot_Tree_Dossier_Clients_Factures ControlSetText( $hGui, "", $id_Folder, $Folder_Entreprise_Dossiers_Clients_Factures) Case $idRoot_Tree_Configuration_GUI ControlSetText( $hGui, "", $id_Folder, $Folder_Configuration_GUI) Case $GUI_EVENT_CLOSE _Exit() EndSwitch WEnd Func _Set_Tab_id( $_idTabSheet = "", $_MemTab = "") If IsDeclared( "Debug") And $Debug Then ConsoleWrite( "Line = "&@ScriptLineNumber &", "& "Func _Set_Tab_id()" &@CRLF) If Not IsDeclared( "_MemTab") Then Global $_MemTab If $_MemTab = "" Then ; NULL = "" GUISwitch($hGui, $_idTabSheet) GUICtrlCreateTabItem("") ElseIf $_MemTab <> "" Then ; Not NULL <> "" GUISwitch($hGui, $_idTabSheet) $_MemTab = "Open" ElseIf $_MemTab = "Open" Then ; Fermeture GUICtrlCreateTabItem("") $_MemTab = "" EndIf Return _GUICtrlTab_GetCurSel( $id_Tab) &","& _GUICtrlTab_GetItemText( $id_Tab, _GUICtrlTab_GetCurSel( $id_Tab)) EndFunc Func _GUICtrlTab_SetBkColor($hWnd, $hSysTab32, $sBkColor) If IsDeclared( "Debug") And $Debug Then ConsoleWrite( "Line = "&@ScriptLineNumber &", "& "Func _GUICtrlTab_SetBkColor()" &@CRLF) Local $aTabPos = ControlGetPos($hWnd, "", $hSysTab32) Local $aTab_Rect = _GUICtrlTab_GetItemRect($hSysTab32, -1) GUICtrlCreateLabel("", $aTabPos[0]+2, $aTabPos[1]+$aTab_Rect[3]+4, $aTabPos[2]-6, $aTabPos[3]-$aTab_Rect[3]-7) GUICtrlSetBkColor( -1, $sBkColor) GUICtrlSetState( -1, $GUI_DISABLE) EndFunc Func _Exit() If IsDeclared( "Debug") And $Debug Then ConsoleWrite( "Line = "&@ScriptLineNumber &", "& "Func _Exit()" &@CRLF) ;~ _Fonction_1_Enregistrement_Du_Fichier_De_Configuration() _GDIPlus_Shutdown() ConsoleWrite( "Line = "&@ScriptLineNumber &", "& "Func _Exit()" &@CRLF) GUIDelete( $hGUI) Exit EndFunc