Page 2 sur 2

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 7:09
par Shadow
Bonjour,

Comment mettre des image png à la place des icônes ?
Et aussi comment mettre des icônes choisie et non pas de Dll ?

Merci :)

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 7:51
par microdevweb
Dans Pb tu peux utilisé des Png aussi bien que des ico (sauf pour le curseur personnalisé d'un canvas) mais tu dois utilisé avant UsePNGImageDecoder()

Toutefois voici le lien d'un site pour convertir en ico.

Quant au Dll, je ne voie absolument pas de quoi tu parles ?

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 8:06
par Kwai chang caine
Peut être des dll windows qui contiennent les icones systeme...

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 8:07
par Marc56
Au niveau des options du compilateur, l'icône du programme lui-même ne peut être qu'au format .ico

Cependant tous les programmes de gestion d'image, savent transformer en .ico

Sur PC, un visualiseur comme Irfanview est indispensable, c'est l'un des premiers trucs à installer sur tout nouveau PC.
Gratuit, très rapide, peu encombrant, il peut aussi être utilisé en ligne de commande ce qui est très utile pour transformer via RunProgram() les formats que PB ne gère pas pour le moment.

Pour gérer les icônes et celles en bibliothèque, tu as par exemple IcoFx. Si tu n'as pas besoin de toutes les fonctionnalités de ce programme, la dernière version freeware et légère était la 1.6.4

:wink:

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 9:20
par Shadow
Heu je parle du Tree la hein ;)

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 10:39
par falsam
@Shadow : Tu peux aussi utiliser cet utilitaire http://www.purebasic.fr/french/viewtopi ... 63#p181463

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 11:11
par Shadow
Ok et comment je fais pour mettre mes propre icônes ?????

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 11:49
par falsam
Shadow a écrit :Heu je parle du Tree la hein ;)
Heu .... Shadow dans ta demande initiale tu ne parlais pas du tree-view.
http://www.purebasic.fr/french/viewtopi ... 79#p183879
Shadow a écrit :Ok et comment je fais pour mettre mes propre icônes ?????
Je suppose que tu continue toujours à parler des icones dans le tree-view ^^.

Code : Tout sélectionner

OpenWindow(0, 0, 0, 270, 80, "*.ico & *.png dans un TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TreeGadget(0, 5, 5, 260, 70)

UsePNGImageDecoder()

;Icone *.ico se trouvant dans le dossier d'installationn de PureBasic
LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/CdPlayer.ico")

;Icone *.png se trouvant dans le dossier d'installationn de PureBasic
LoadImage(1, #PB_Compiler_Home + "examples/sources/Data/world.png")

;Parents
AddGadgetItem (0, -1, "Parent 1", ImageID(0), 0)

;Fils
AddGadgetItem(0, -1, "Child 1", ImageID(0), 1)
AddGadgetItem(0, -1, "Child 2", ImageID(1), 1)

;Expand du treeview
SetGadgetItemState(0, 0, #PB_Tree_Expanded)

Repeat :  Until WaitWindowEvent() = #PB_Event_CloseWindow

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 12:52
par Shadow
Bonjour,

Comment mettre des image png à la place des icônes ?
Et aussi comment mettre des icônes choisie et non pas de Dll ?

Merci :)
Merci Falsam mais je veux mettre des grand icônes ou image png, 32 * 32 par exemple :)

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 13:12
par Marc56
Shadow a écrit :Merci Falsam mais je veux mettre des grand icônes ou image png, 32 * 32 par exemple :)
Avec le TreeGadget() standard, cela reste du 16x16
http://www.purebasic.com/french/documen ... titem.html
:wink:

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 13:19
par Shadow
Bon on va tourner en rond encore longtemps comme ça ? :roll:

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 13:23
par falsam
Peut etre que tu pourrais mettre tes icones dans un DLL et faire comme cet exemple.

Code : Tout sélectionner

Enumeration
  #MainForm
  #Tree
EndEnumeration


;Petite police pour faire jolie mais pas obligatoire 
If LoadFont(1, "Arial", 15)
  SetGadgetFont(#PB_Default, FontID(1))
EndIf


If OpenWindow(#MainForm, 0, 0, 700, 500, "TreeGadget Large icon", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)  

  TreeGadget(#Tree, 10, 10, 680, 480)
  
  If OSVersion() > #PB_OS_Windows_2000 
    OpenLibrary(0, "uxtheme.dll") 
    
    ;Eventuellement on peut commenter ces deux lignes. A vous de voir
    ;commentez pour voir la différence
    CallFunction(0, "SetWindowTheme", GadgetID(#Tree), @" ", @" ") 
    SetThemeAppProperties_(1) 
    
    CloseLibrary(0) 
  EndIf 
  
  ;Taille des icones 
  IconSize = 32
  
  ;
  ImageList = ImageList_Create_(IconSize, IconSize, #ILC_COLOR32 | #ILC_MASK, 0, 10)
  
  ; Quelques icones de test extraites de shell32.dll
  ico0 = ExtractIcon_(0, "shell32.dll", 43) ;Etoile
  ico1 = ExtractIcon_(0, "shell32.dll", 44) ;Clé
  ico2 = ExtractIcon_(0, "shell32.dll", 45) ;Dossier
  ico3 = ExtractIcon_(0, "shell32.dll", 47) ;Cadenas
  ico4 = ExtractIcon_(0, "shell32.dll", 23) ;Point d'interogation
  
  ;AJoute des icone dans la liste d'icone
  ImageList_AddIcon_(ImageList, ico0)
  ImageList_AddIcon_(ImageList, ico1)
  ImageList_AddIcon_(ImageList, ico2)
  ImageList_AddIcon_(ImageList, ico3)
  ImageList_AddIcon_(ImageList, ico4)
    
  
  ;Création du tree-view 
  AddGadgetItem(#Tree, - 1, "Icon 43 ", ico0, 0)
  AddGadgetItem(#Tree, - 1, "Icon 44 ", ico1, 0)
  AddGadgetItem(#Tree, - 1, "Icon 45 ", ico2, 0)
  AddGadgetItem(#Tree, - 1, "Icon 47 ", ico3, 0)
  
  AddGadgetItem(#Tree, - 1, "Icon 23 ", ico4, 1)
  
  
  ;Et destruction (Pas sur que ce soit nécessaire) 
  DestroyIcon_(ico0)
  DestroyIcon_(ico1)
  DestroyIcon_(ico2)
  DestroyIcon_(ico3)
  DestroyIcon_(ico4)
    
  ;Le tour de magie
  SendMessage_(GadgetID(#Tree), #TVM_SETIMAGELIST, #TVSIL_NORMAL, ImageList)
    
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  
  ;Destruction de la liste d'images  (la aussi pas certain que ce soit nécessaire)
  ImageList_Destroy_(ImageList) 
  
EndIf

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 13:30
par falsam
Shadow a écrit :Bon on va tourner en rond encore longtemps comme ça ? :roll:
tout en délicatesse ..... Je me demande pourquoi j'ai répondu précédemment.

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 13:37
par falsam
Sans DLL mais en reprenant l'exemple précédent.

Code : Tout sélectionner

OpenWindow(0, 0, 0, 700, 500, "*.ico dans un TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TreeGadget(0, 5, 5, 680, 480)

If OSVersion() > #PB_OS_Windows_2000 
  OpenLibrary(0, "uxtheme.dll") 
  
  CallFunction(0, "SetWindowTheme", GadgetID(0), @" ", @" ") 
  SetThemeAppProperties_(1) 
  
  CloseLibrary(0) 
EndIf

;Icone *.ico se trouvant dans le dossier d'installationn de PureBasic
Ico0 = LoadImage(#PB_Any, #PB_Compiler_Home + "examples/sources/Data/CdPlayer.ico")

;AJoute des icone dans la liste d'icone
IconSize = 32
ImageList = ImageList_Create_(IconSize, IconSize, #ILC_COLOR32 | #ILC_MASK, 0, 10)

ImageList_AddIcon_(ImageList, ImageID(ico0))
ImageList_AddIcon_(ImageList, ImageID(ico0))
ImageList_AddIcon_(ImageList, ImageID(ico0))

;Parents
AddGadgetItem (0, -1, "Parent 1", ImageID(Ico0), 0)

;Fils
AddGadgetItem(0, -1, "Child 1", ImageID(ico0), 1)
AddGadgetItem(0, -1, "Child 2", ImageID(ico0), 1)

;Expand du treeview
SetGadgetItemState(0, 0, #PB_Tree_Expanded)

;Le tour de magie
SendMessage_(GadgetID(0), #TVM_SETIMAGELIST, #TVSIL_NORMAL, ImageList)

Repeat :  Until WaitWindowEvent() = #PB_Event_CloseWindow

Re: Changer la taille des icone

Publié : mar. 14/juin/2016 13:37
par Shadow
Falsam je parlais pas pour toi, merci de m'aider ;)

J'ai manipulé ya un moment se genre de chose et j'avais réussi
à mettre les icône que je voulais mais je sais plus ou c'est :(

Je ne veux pas passer par une Dll mais mettre les icônes que je veux.
Je parle bien d’icônes et pas d'image png car il semble que se ne soit pas possible.

Désoler si j'ai parue insolant mais je me répète et j'arrive pas à me faire comprendre !

Edit: Voilà c'est se que je voulais :D
Alors un grand merci à toi maitre Falsam 8)

Qu'est se que je ferais sans vous !