Librairie MoreListIconGadget

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Librairie MoreListIconGadget

Message par Anonyme2 »

Salut,

voici la nouvelle version de ma librairie MoreListiconGadget (version 1.30) avec 3 commandes supplémentaires (soit en tout 25 commandes).


Ces 3 nouvelles commandes permettent de colorier les cellules, les lignes ou les colonnes d'une listicongadget.

Voici rapidement la syntaxe

SetItemColor(#gadget, ligne, colonne, CouleurTexte, CouleurFond) : cette commande colorise une cellule individuelle. Utiliser -1 pour ne pas changer la couleur d'un des 2 paramètres CouleurTexte ou CouleurFond.

SetRowColor(#gadget, ligne, CouleurTexte, CouleurFond) : cette commande colorise une ligne complète. Utiliser -1 pour ne pas changer la couleur d'un des 2 paramètres CouleurTexte ou CouleurFond. Ligne peut prendre 2 valeurs particulières pour coloriser soit les lignes paires soit les impaires. Voir la doc et les fichiers d'exemple.

SetColumnColor(#gadget, colonne, CouleurTexte, CouleurFond) : cette commande colorise une colonne complète. Utiliser -1 pour ne pas changer la couleur d'un des 2 paramètres CouleurTexte ou CouleurFond. Colonne peut prendre 2 valeurs particulières pour coloriser soit les colonnes paires soit les impaires. Voir la doc et les fichiers d'exemple.

La lib est dispo sur ma page et c'est un fichier executable qui extrait tous les fichiers (dont 25 fichiers d'exemples) automatiquement.

Le fichier fait 515 ko ce qui est gros car il contient les 2 fichiers d'aide, celui en français et celui en anglais qui font à eux deux presque 500 Ko.

J'ai mis beaucoup de temps pour mettre ces 3 commandes au point, j'espère qu'il n'y a pas de bug. :wink:

http://denislabarre.free.fr/index.html
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

tu veux que je regarde pour trouver des bugs ?
en plus ça me donnera une bonne occasion de raler :mrgreen: :mrgreen:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

en plus ça me donnera une bonne occasion de raler
:0:

Vas-y cherches et râles .... on a l'habitude :mrgreen:


Sinon, pour la police, je n'ai pas trouvée comment redimensionner la hauteur d'une ligne lorsque la police est grande, car les lettres sont tronquées. :cry:
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

On m'a dit sur le forum anglais que mon exe ne fonctionne pas.

Avez-vous essayé ma lib et si oui, si ça marche ?

Merci
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Salut Denis

Oui , je viens de tester sous Win98 , l'installation se passe bien ( j'ai mis purebasic sur la partition D du disque , et sans rien me demander l'installation l'a trouvé :)

Ensuite j'ai lancé les exemples SetItemColor et SetRowColor, ça fonctionne très bien .
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Salut :)

Je viens de l'installer, a priori, aucun problème.

J'ai essayé en anglais, et en français, ça fonctionne dans les deux cas.

Chris :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Merci,

je me demandais ce qui n'allait pas car avant de mettre l'exe, je teste sous WIN98 et XP, je comparare la taile des fichiers etc pour voir si tout est Ok et ça allait.
Je ne sais pas ce qui ne va pas pour le codeur Tranquil ?

Je vais lui faire un zip, j'aime pas mais bon...
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

il me semble que Tranquil a NT , ça a peut-être quelque chose à voir ?
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Peut-être,

ce qui est bizarre c'est que j'utilise le code de Fred pour trouver l chemin d'installation de PureBasic.
Je vais demander à Tranquil quel Os il utilise.

Sinon je viens de faire 2 zip mis sur ma page pour cette librairie.
Là il faut mettre les fichiers au bon endroit (28 fichiers)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Pour la police, faut que je regarde avec mon truc mais il me semble que la hauteur de ligne se modifie automatiquement quand on change de taille.
je regarde et je te confirme
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Raté, ah marche pas :(
tu avais encore raison, zut zut et zut :mrgreen:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Oui,

il faut procéder autrement pour redimensionner la hauteur des lignes.
J'ai fait des essais mais je n'arrive pas à redimensionner par exemple 1 seule ligne.

Avec le temps ça viendra.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

tu fais comment pour tous redimmentionner ? ça m'intéresse :wink:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

La seule manière que j'ai trouvé, c'est sur des site de prog.


Il faut créer un listicongadget avec le style #LVS_OWNERDRAWFIXED.

Maintenant que tu as mis ce style, tu n'arriveras plus à afficher quelque chose, tu dois tout faire.

Il faut intercepter 2 événements :

#WM_DRAWITEM

Avec ce message tu redessines tous les éléments en utilisant la structure LVITEM. C'est interessant car tu peux positionner le texte ou tu veux dans la cellule avec TextOut_() et l'icon avec DrawIconEx_()

Regarde le code de Fred concernant la combobox avec le style ownerdrawn, mon code s'en inspire avec la différence que c'est une listicon.

http://purebasic.new.myforums.net/viewt ... ht=textout

Maintenant pour pouvoir redimmensionner les lignes, il y a plusieurs solutions.

Soit tu utilise une icone transaparente que tu met dans un listicon que tu assigne à la listicongadget, toutes les lignes prendront la taille de l'icone augmenté de plusieurs pixels, soit tu change la police de la listicon avec setgadgetFont, et les lignes prendront automatiquement la taille appropriées pour la police soit enfin tu intercepete le message #WM_MEASUREITEM qui est n'envoyé que lorsque la listicon est créée. La ruse consiste à redimensionner la listicon avec setwindopos, ce qui va générer un message #WM_MEASUREITEM et la tu créé une variable basée sur la structure DRAWITEMSTRUCT et le paramètre itemHeight de cette structure est la hauteur de l'item c'est-à-dire de la ligne


C'est un peu lourd, Hein ?

J'espère pouvoir faire tout ça pour la nouvelle version de ma lib dans un mois ou deux. Par contre en ownerdrawn, les couleurs c'est beaucoup plus simple qu'en utilisant les messages #CDDS_PREPAINT etc.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

J'ai mis à jour ma librairie MorelisticonGadget --> Version 1.31
Dispo ici :

English page : http://denislabarre.free.fr/index_en.html :mrgreen:


Non je plaisante, y a aussi en français

Page française : http://denislabarre.free.fr/index.html

Il y a soit un exe qui installe la lib soit un zip, donc les fichiers à extraire soit-même.
J'ai corrigé un bug dans les couleurs et j'ai ajouté une commande :
RemoveItemsColor(#Gadget) pour supprimer les couleurs (en fait ce sont les couleurs système qui seront utilisées.
Répondre