Titre de colonnes multiples
Titre de colonnes multiples
Bonsoir à tous
J'utilise une listIconGadget et j'ai un titre qui convient à trois colonnes avec chacune un sous-titre. Je m'explique:
1ère colonne titrée : Prix de vente détail
2ème colonne titrée: Prix de vente en gros
3ème colonne titrée: Prix spécial étudiants
Je souhaiterais (si possible) écrire une seule fois le titre : PRIX DE VENTE et, en dessous, les sous-titres des 3 colonnes.( exemple: Détail, Gros, Etudiant.
Merci
J'utilise une listIconGadget et j'ai un titre qui convient à trois colonnes avec chacune un sous-titre. Je m'explique:
1ère colonne titrée : Prix de vente détail
2ème colonne titrée: Prix de vente en gros
3ème colonne titrée: Prix spécial étudiants
Je souhaiterais (si possible) écrire une seule fois le titre : PRIX DE VENTE et, en dessous, les sous-titres des 3 colonnes.( exemple: Détail, Gros, Etudiant.
Merci
Win7 (x64)
Pb 6.03 LTS
Pb 6.03 LTS
Re: Titre de colonnes multiples
Bonsoir,
Si j'ai bien compris tu cherches à faire un truc comme ça ?

Si j'ai bien compris tu cherches à faire un truc comme ça ?
Re: Titre de colonnes multiples
Je ne sais pas si c'est pas si c'est possible. Et si ça l'est ce sera avec API mais ça j'en sait rien.
Un listicongadget est comme une fenêtre explorer en mode détails.. Ce n'est pas un tableur.
Idées en vrac
- Pourquoi ne mets tu pas simplement ton titre dans un stringgadget de la taille de tes trois colonnes ?
- Tu peux aussi faire un autre listicon gadget dont tu modifierais la taille de la colonne pour qu'elle fasse la taille des 3 du dessous.. ?
- Tu peux aussi dessiner ton tableau dans un canvas mais c'est un autre taf.
Un listicongadget est comme une fenêtre explorer en mode détails.. Ce n'est pas un tableur.
Idées en vrac
- Pourquoi ne mets tu pas simplement ton titre dans un stringgadget de la taille de tes trois colonnes ?
- Tu peux aussi faire un autre listicon gadget dont tu modifierais la taille de la colonne pour qu'elle fasse la taille des 3 du dessous.. ?
- Tu peux aussi dessiner ton tableau dans un canvas mais c'est un autre taf.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Titre de colonnes multiples
Bonjour Ar-S
J'ai déjà utilisé cette astuce (string et listicongadget etc..), mais j'aurais souhaité faire ça comme excell mais si ce n'est pas possible alors je suis obligé de faire comme tu as dit.
Merci pour tout
J'ai déjà utilisé cette astuce (string et listicongadget etc..), mais j'aurais souhaité faire ça comme excell mais si ce n'est pas possible alors je suis obligé de faire comme tu as dit.
Merci pour tout
Win7 (x64)
Pb 6.03 LTS
Pb 6.03 LTS
Re: Titre de colonnes multiples
Il y a une méthode un peu brutale : afficher une fenêtre BorderLess. Mais dès que l'interface modifie les coordonnées, ça fait bricolo...
Re: Titre de colonnes multiples
Moi, je ferais comme ça, avec une structure, ça devrait le faire.
Code : Tout sélectionner
Enumeration Fenetres
#Fenetre_principale
EndEnumeration
Enumeration Gadgets
#Lst_0
#Lst_1
#Lst_2
#Lst_3
#Lst_4
EndEnumeration
Global Evenement
Declare Programme_principal()
Programme_principal()
Procedure Programme_principal()
Protected Drapeaux_Lst = #PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines
If OpenWindow(#Fenetre_principale, 0, 0, 500, 365, Space(54) + "Essai de listes multiples", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
ListIconGadget(#Lst_0, 0, 0, 100, 300, Space(8) + "Liste 1", 96, Drapeaux_Lst)
ListIconGadget(#Lst_1, 100, 0, 100, 300, Space(8) + "Liste 2", 96, Drapeaux_Lst)
ListIconGadget(#Lst_2, 200, 0, 100, 300, Space(8) + "Liste 3", 96, Drapeaux_Lst)
ListIconGadget(#Lst_3, 300, 0, 100, 300, Space(8) + "Liste 4", 96, Drapeaux_Lst)
ListIconGadget(#Lst_4, 400, 0, 100, 300, Space(8) + "Liste 5", 96, Drapeaux_Lst)
EndIf
EndProcedure
Repeat
Evenement = WaitWindowEvent()
Select Evenement
Case #PB_Event_Gadget
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Fenetre_principale
CloseWindow(#Fenetre_principale)
Break
EndSelect
EndSelect
ForEverMicrosoft 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 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Titre de colonnes multiples
Ou rester simple:
- Ne pas utiliser l'entête de colonne
- Utiliser les deux premières ligne
- Utiliser les couleurs

Bon, on ne peut pas verrouiller les deux première lignes et le titre n'est pas centré, mais souvent on passe du temps à faire de beaux effets graphiques et on se rend compte que l'utilisateur s'en fiche complètement.
Joie de la programmation agile qui remet en cause ce qu'on imagine comme top du top
Oui, SetGadgetItemColor() permet de changer la couleur du fond ou du texte d'une ligne, colonne ou simple case.

- Ne pas utiliser l'entête de colonne
- Utiliser les deux premières ligne
- Utiliser les couleurs
Code : Tout sélectionner
EnableExplicit
Enumeration
#Win
#Lst
EndEnumeration
OpenWindow(#Win, 100, 100, 800, 600, "", #PB_Window_SystemMenu)
ListIconGadget(#Lst, 5, 5, 790, 690, "", 200)
AddGadgetColumn(#Lst, 1, "", 200)
AddGadgetColumn(#Lst, 2, "", 200)
AddGadgetColumn(#Lst, 3, "", 200)
AddGadgetItem(#Lst, 0, "Prix de Vente")
SetGadgetItemColor(#Lst, 0, #PB_Gadget_BackColor, #Yellow, #PB_All)
AddGadgetItem(#Lst, 1, "Article" + Chr(10) + "Détail" + Chr(10) + "Gros" + Chr(10) + "Étudiant")
SetGadgetItemColor(#Lst, 1, #PB_Gadget_BackColor, $8CE6F0, #PB_All)
Define i
For i = 1 To 10
AddGadgetItem(#Lst, 2, "Article " + Str(i) + Chr(10) +
Random(50, 10) + Chr(10) +
Random(50, 10) + Chr(10) +
Random(50, 10) + Chr(10) +
Random(50, 10) )
Next
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndBon, on ne peut pas verrouiller les deux première lignes et le titre n'est pas centré, mais souvent on passe du temps à faire de beaux effets graphiques et on se rend compte que l'utilisateur s'en fiche complètement.
Joie de la programmation agile qui remet en cause ce qu'on imagine comme top du top
Oui, SetGadgetItemColor() permet de changer la couleur du fond ou du texte d'une ligne, colonne ou simple case.
Re: Titre de colonnes multiples
On peut jouer avec les container, comme ça
Windows seulement
Multiplateforme (probablement)
M.
Windows seulement
Code : Tout sélectionner
;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;
Global Window_0
Global Container_0, Text_0, Container_1, ListIcon_0
Procedure OpenWindow_0(x = 0, y = 0, width = 600, height = 400)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu)
Container_0 = ContainerGadget(#PB_Any, 200, 40, 200, 30)
SetGadgetColor(Container_0, #PB_Gadget_BackColor,RGB(255,255,255))
Text_0 = TextGadget(#PB_Any, -3, -3, 200, 30, "Prix de vente", #PB_Text_Center)
SetGadgetColor(Text_0, #PB_Gadget_BackColor,RGB(255,255,255))
CloseGadgetList()
Container_1 = ContainerGadget(#PB_Any, 200, 71, 200, 150)
SetGadgetColor(Container_1, #PB_Gadget_BackColor,RGB(255,255,255))
ListIcon_0 = ListIconGadget(#PB_Any, -3, -3, 203, 153, "Artcle", 100, #PB_ListIcon_GridLines| #LVS_NOCOLUMNHEADER)
AddGadgetColumn(ListIcon_0, 1, "Détails", 100)
AddGadgetColumn(ListIcon_0, 2, "Gros", 100)
SetGadgetColor(ListIcon_0, #PB_Gadget_BackColor,RGB(255,255,255))
CloseGadgetList()
ResizeGadget(Text_0,GadgetWidth(Container_0)/2 - GadgetWidth(Text_0, #PB_Gadget_RequiredSize)/2,
GadgetHeight(Container_0)/2 - GadgetHeight(Text_0, #PB_Gadget_RequiredSize)/2,
GadgetWidth(Text_0, #PB_Gadget_RequiredSize),
GadgetHeight(Text_0,#PB_Gadget_RequiredSize))
AddGadgetItem(ListIcon_0, 0, "Article"+Chr(10)+"Détail"+Chr(10)+"Gros")
EndProcedure
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
OpenWindow_0()
Repeat
event=WaitWindowEvent()
Until event=#PB_Event_CloseWindow
Code : Tout sélectionner
;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;
Global Window_0
Global Container_0, Text_0, Container_1, ListIcon_0
Procedure OpenWindow_0(x = 0, y = 0, width = 600, height = 400)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu)
Container_0 = ContainerGadget(#PB_Any, 200, 40, 200, 30)
SetGadgetColor(Container_0, #PB_Gadget_BackColor,RGB(255,255,255))
Text_0 = TextGadget(#PB_Any, -3, -3, 200, 30, "Prix de vente", #PB_Text_Center)
SetGadgetColor(Text_0, #PB_Gadget_BackColor,RGB(255,255,255))
CloseGadgetList()
Container_1 = ContainerGadget(#PB_Any, 200, 71, 200, 150)
SetGadgetColor(Container_1, #PB_Gadget_BackColor,RGB(255,255,255))
ListIcon_0 = ListIconGadget(#PB_Any, -3, -12-GadgetHeight(Text_0, #PB_Gadget_RequiredSize)/2, 203, 153+12, "Artcle", 100, #PB_ListIcon_GridLines)
AddGadgetColumn(ListIcon_0, 1, "Détails", 100)
AddGadgetColumn(ListIcon_0, 2, "Gros", 100)
SetGadgetColor(ListIcon_0, #PB_Gadget_BackColor,RGB(255,255,255))
CloseGadgetList()
ResizeGadget(Text_0,GadgetWidth(Container_0)/2 - GadgetWidth(Text_0, #PB_Gadget_RequiredSize)/2,
GadgetHeight(Container_0)/2 - GadgetHeight(Text_0, #PB_Gadget_RequiredSize)/2,
GadgetWidth(Text_0, #PB_Gadget_RequiredSize),
GadgetHeight(Text_0,#PB_Gadget_RequiredSize))
AddGadgetItem(ListIcon_0, 0, "Article"+Chr(10)+"Détail"+Chr(10)+"Gros")
EndProcedure
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
OpenWindow_0()
Repeat
event=WaitWindowEvent()
Until event=#PB_Event_CloseWindow