OVH Cloud OVH Cloud

ComboBox avec couleur differente

18 réponses
Avatar
Simon
Bonjour a tous

Y a t-il une facons dans un comboBox de mettre exemple les 4 premiere item
en Rouge et les 4 seconde en Bleu (je parle du text ici)

Merci de votre aide !

8 réponses

1 2
Avatar
riki
X a écrit :
Hello Phil,


Re,

Ben jadis le langage du noyau de l'OS, du système, ça s'appelait le
langage système... tu doutes, je site in extenso:
"La bible; 6eme édition; année 1996; PC; programmation système..."...
Tout ce qui concerne une programmation qui s'adresse avec un langage propre
au système, donc portable, s'appelle "programmation système", a contrario


Faux et encore faux, soyons un peux plus précis svp.
Le faite que vous programmez en C sous windows, ne veut pas dire que
votre programme sera portable sur les futurs versions de windows et sur
des machines radicalement différente (voir les systèmes risc).
Attention, faire des appels aux apis engage Microsoft à respecter une
couche d'abstraction (ex : le wow pour dos et les applications 16 bits)
pour la compatibilité futur et ne veut pas dire que vous faites de la
programmation système.

Cordialement,

EG.

"cest une notion qui existe", à moins que ça ait changé de nom, mais bon,
peut importe les mots ???





Avatar
Gloops
Bonjour,

Oh, mais c'est qu'il va falloir que j'aille zyeuter ça, moi. J'avais vu
passer des infos là-dessus mais oublié où c'était.

Bon moi c'est une liste simple dont j'ai à colorier le contenu, mais je
ne serais pas étonné qu'une bonne partie des infos soient communes.

Il ne serait pas impossible aussi que sur http://vbnet.mvps.org on
trouve des choses intéressantes pour ce sujet.

OK appeler les API c'est une certaine gymnastique, d'ailleurs ne
serait-ce que pour faire sélectionner un fichier par l'utilisateur j'ai
longtemps fait du copier-coller sans rien comprendre (et obtenu des
applications sans problème de déploiement), et au bout d'un moment je me
suis accordé le temps de regarder ce qu'il y avait dedans.

Une fois qu'on a pratiqué cette gymnastique, si ça permet de faire
quelque chose de plus clair pour l'utilisateur, pourquoi pas ...

Bien entendu, si on s'oublie à utiliser des API pour faire des choses
pour lesquelles VB a une instruction toute prête, c'est dommage, ça
alourdit la maintenance. D'ailleurs, si Microsoft propose VB.Net,
d'accord c'est pour se faire des sous, mais il y a quand même aussi
quelque chose derrière.

Donc, les appels aux API évitables (parce que le travail est prévu en
standard dans le langage), non. En revanche, j'ai fait une boîte de
dialogue avec une liste qui change de couleur selon la tâche
sélectionnée, en toute franchise je pense que ça sera plus clair pour
l'utilisateur une fois qu'il n'aura plus besoin de parcourir la liste
pour voir directement quelles sont les tâches qui sont prêtes, et
quelles sont celles qui ne s'exécuteront pas ou pas sûrement, et pourquoi.

Pas demain matin parce que j'ai des trucs à la bourre, mais ça viendra.
Promis, si ça plante ma machine j'éviterai de le mettre en ligne.

http://www.zailes.org/GestTaches/Gestionnaire_de_taches_planifiees.html

______________
riki a écrit :
Simon a écrit :
Bonjour a tous

Y a t-il une facons dans un comboBox de mettre exemple les 4 premiere
item en Rouge et les 4 seconde en Bleu (je parle du text ici)

Merci de votre aide !



Bonjour,

Oui, via un appel aux api's windows, non via les contrôles standard.
Voir les sites :
http://vostock.cliranet.com/vb-rs232.php
http://grafikm.developpez.com/portcomm/
http://www.vbfrance.com/
http://support.microsoft.com/default.aspx?scid=kb;en-us;194922
http://fred.just.free.fr/francais/index.php?from=http://fred.just.free.fr/francais/Planet/Planet.html


Vous trouverez des exemples utiles.

Cordialement,

EG.


Avatar
Driss HANIB
Ah...............
on retrouve le "X" des grands jours
chasser le naturel, il revient au galop
"Y"


"X" a écrit dans le message de news:

Hello bis, j'ai validé involontairement, désolé, je poursuis...

-2- Et alors, dis-tu, et alors je faisais allusion dans mon esprit à
l'appel à des API (qui fait aussi beaucoup de travail manuel pour
l'utilisateur, et peu d'automatisme, exemple des boîtes de dialogue), donc
en fait je voulais mentionner que les API étaient appelables entre autre
depuis VB, mais n'étaient pas du VB, sous entendu qu'il faut, tant que
possible, programmer en VB (notamment dans un forum VB), mais qu'en
l'espèce, et ici c'est le cas, quand on ne peut faire autrement,
évidemment qu'il faut appeler les API, mais pas le contraire...
On a pu voir des exemples "venus d'ailleurs", où les gens ne connaissaient
presque pas un traître mot de VB, et programmaient tout en API dans un
programme VB, y compris la gestion de fichiers... et alors, diras-tu, lol,
ben alors, en VB on programme en VB...

-3- Mais je le redis, pour le cas présent il n'y a manifestement que les
API, et je pense que ça a été assemblé par bien meilleur que moi :o)

-4- Je trouvais, impression personnelle, que ça faisait beaucoup de code
pour avoir une couleur, et qu'on avait intérêt à bien connaître le
mécanisme des API si on se lançait là dedans, juste un point de vue, qui
veut peut être dire, "si c'est à ce prix, mieux vaut laisser tomber la
couleur"...
Si tu trouves ça simple, c'est comment quand c'est compliqué ???

-5- Tu parles de sous-classement, et autres gentilles choses, par exemple
quand tu fais appel à des logiciels extérieurs, prévus pour être appelés
par Windows, comme Excel, etc... Ben tu te retrouves avec les OleAuto32...
et ça fait du gros pour les empaquetages; alors que VB dispose par exemple
d'objet capables de représenter de façon satisfaisante ce que ferait
Excel...

-6- Point de vue, soit on programme, soit on paramètres (sortie boîte de
dialogue imprimante), affichage Excel, fichier fait par le moteur d'une
BDD, le tout arrosé copieusement d'API, ben ce n'est plus guère de la
programmation de code en VB tout ça, c'est simplement ce que j'en
penses...

Cordialement :o)

------
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"phil" a écrit dans le message de news:
4421434a$0$20704$
"X" wrote in message
news:
Bonjour E.G,

Tu dis "Oui, via un appel aux api's windows, non via les contrôles
standard"
Donc en VB = NON; en langage système dans vb = OUI



Langage système ?? Ce n'est pas une notion qui existe.
A la rigueur, on parle parfois de langage machine, mais
ici, je ne vous pas le rapport :-(

Ah la c'est exactement ça, sauf que les zAPIs ce n'est absolument pas du


VB,
c'est du "langage système" qui peut s'appeler depuis VB en cas de besoin
extrême (d'ailleurs utilisé en assembleur)...



VB est un langage de programmation, qui permet de construire
des fonctions appelant d'autres fonctions, etc. Et de fait, oui,
VB permet d'appeler des focntions de l'API windows. Et alors?

VB est un langage pour Windows, il est conçu pour être utilisé sur
un système donné (Windows). Il peut donc en utiliser les fonctions
de base. Il est vrai qu'on peut faire la même chose en C++, en Delphi,
ou en ce qu'on veut, pour autant que le langage permette d'appeler les
fonctions du système.

De plus le code (qualifié de simple), est monstrueusement long juste
pour
avoir une couleur il y a:



Lol! On n'a pas la même notion de ce qui est "monstrueusement long" ...

- Explication est en anglais...



Oui, comme 80% des resources de programmation disponibles. Ceci dit,
une fois qu'on a vu que la méthode utilisait le subclassing, il
est très facile de se rediriger vers un site francophone traitant du
sujet, si besoin est.

- 200 lignes de code



Ce qui en fait un code extrémement concis.

- 2 feuilles (module + form)



Tout est dans le module, la forme c'est l'exemple
d'utilisation

- 15 APIs appelées
- 18 constantes
- 4 déclarations de type
- 5 fonctions
- 3 procédures



Oui et alors? Le moindre programme qui est plus qu'un exemple d'école
en comporte 100 fois plus. Le regroupement par modules et les constantes
nommées permettent justement de pouvoir faire ce genre de choses sans
être
perdu. Le strict cloisonnement des variables, et une gestion saine de
la portée des variables fait que ce n'est pas un souci. Les Private et
les Public sont faites pour cela

Sans omettre le code qu'il faudra sans doute rajouter, et avec lequel il
faudra en permanence jongler pour savoir à quel index on met quelle


couleur
de la listes...



Non pas du tout, le code est tout bête et l'utilisation
particulièrement simple (une ligne):
Combo1.itemData(Combo1.NewIndex) = QBColor(iIndex)

Il n'y a aucune jonglerie ici. On pourrait mal imaginer plus
simple.

Et in fine, ça provoque des complications à l'empaquetage (mais ce n'est


pas
le sujet ici), qui fait appel à des dll ou ocx très lourds (0,8 Mo


souvent),
qui peuvent parfois être supprimés... les "OLE"...



Pas du tout. Tu n'as pas lu ou pas compris: les API appellées font
toutes parties des dll standards de Windows, et sont nécessairement
déjà présentes sur la machine de destination. Il n'y a rien à
ajouter ni à empaqueter.

Je doute que ce soit une bonne méthode d'apprentissage, et je mets au
défi
l'utilisateur qui a posé la question d'expliquer l'utilité et


l'interaction
de chaque API entre elles, il va donc faire un copier/coller sans autre
forme de procès...



Pourquoi ça? Il n'y a rien de compliqué, et on trouve des tas de
tutoriaux (en français ou en anglais) sur le subclassing et
les messages Windows. Il n'y a rien de compliqué, il faut juste
lire les docs.

Ce code n'est pas difficile à comprendre, d'autant qu'il
est parfaitement commenté. Par contre, l'écrire et le
mettre au point a du être un peu ardu, mais il est
particulièrement "sioux"!

C'est cher payé pour avoir un peu de couleur dans une liste, en un
langage
qui n'est pas du VB majoritairement...



Mettre des couleurs dans un Combo, c'est discutable sur le plan
esthétique et en plus, ça contribue à faire une interface non
standard. Mais bon, c'est un choix.

Quand au prix à payer, il est bien faible ici.

Mais bon, chacun voit midi à sa porte, du moment que comme tu le dis en
intro, ce n'est pas du VB, l'auteur de la question est désormais


prévenu...

Rectification:
- Le contrôle fourni avec VB ne permet pas de faire des textes de
couleurs
différentes dans un combo.
- VB (le langage) permet de le faire, en utilisant dans le code des
appels
à des fonctions de l'API Windows

--
Phil












Avatar
X
Chut, je suis sous X...

------
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"Driss HANIB" a écrit dans le message de news:

Ah...............
on retrouve le "X" des grands jours
chasser le naturel, il revient au galop
"Y"


"X" a écrit dans le message de news:

Hello bis, j'ai validé involontairement, désolé, je poursuis...

-2- Et alors, dis-tu, et alors je faisais allusion dans mon esprit à
l'appel à des API (qui fait aussi beaucoup de travail manuel pour
l'utilisateur, et peu d'automatisme, exemple des boîtes de dialogue),
donc en fait je voulais mentionner que les API étaient appelables entre
autre depuis VB, mais n'étaient pas du VB, sous entendu qu'il faut, tant
que possible, programmer en VB (notamment dans un forum VB), mais qu'en
l'espèce, et ici c'est le cas, quand on ne peut faire autrement,
évidemment qu'il faut appeler les API, mais pas le contraire...
On a pu voir des exemples "venus d'ailleurs", où les gens ne
connaissaient presque pas un traître mot de VB, et programmaient tout en
API dans un programme VB, y compris la gestion de fichiers... et alors,
diras-tu, lol, ben alors, en VB on programme en VB...

-3- Mais je le redis, pour le cas présent il n'y a manifestement que les
API, et je pense que ça a été assemblé par bien meilleur que moi :o)

-4- Je trouvais, impression personnelle, que ça faisait beaucoup de code
pour avoir une couleur, et qu'on avait intérêt à bien connaître le
mécanisme des API si on se lançait là dedans, juste un point de vue, qui
veut peut être dire, "si c'est à ce prix, mieux vaut laisser tomber la
couleur"...
Si tu trouves ça simple, c'est comment quand c'est compliqué ???

-5- Tu parles de sous-classement, et autres gentilles choses, par exemple
quand tu fais appel à des logiciels extérieurs, prévus pour être appelés
par Windows, comme Excel, etc... Ben tu te retrouves avec les
OleAuto32... et ça fait du gros pour les empaquetages; alors que VB
dispose par exemple d'objet capables de représenter de façon
satisfaisante ce que ferait Excel...

-6- Point de vue, soit on programme, soit on paramètres (sortie boîte de
dialogue imprimante), affichage Excel, fichier fait par le moteur d'une
BDD, le tout arrosé copieusement d'API, ben ce n'est plus guère de la
programmation de code en VB tout ça, c'est simplement ce que j'en
penses...

Cordialement :o)

------
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"phil" a écrit dans le message de news:
4421434a$0$20704$
"X" wrote in message
news:
Bonjour E.G,

Tu dis "Oui, via un appel aux api's windows, non via les contrôles
standard"
Donc en VB = NON; en langage système dans vb = OUI



Langage système ?? Ce n'est pas une notion qui existe.
A la rigueur, on parle parfois de langage machine, mais
ici, je ne vous pas le rapport :-(

Ah la c'est exactement ça, sauf que les zAPIs ce n'est absolument pas
du


VB,
c'est du "langage système" qui peut s'appeler depuis VB en cas de
besoin
extrême (d'ailleurs utilisé en assembleur)...



VB est un langage de programmation, qui permet de construire
des fonctions appelant d'autres fonctions, etc. Et de fait, oui,
VB permet d'appeler des focntions de l'API windows. Et alors?

VB est un langage pour Windows, il est conçu pour être utilisé sur
un système donné (Windows). Il peut donc en utiliser les fonctions
de base. Il est vrai qu'on peut faire la même chose en C++, en Delphi,
ou en ce qu'on veut, pour autant que le langage permette d'appeler les
fonctions du système.

De plus le code (qualifié de simple), est monstrueusement long juste
pour
avoir une couleur il y a:



Lol! On n'a pas la même notion de ce qui est "monstrueusement long" ...

- Explication est en anglais...



Oui, comme 80% des resources de programmation disponibles. Ceci dit,
une fois qu'on a vu que la méthode utilisait le subclassing, il
est très facile de se rediriger vers un site francophone traitant du
sujet, si besoin est.

- 200 lignes de code



Ce qui en fait un code extrémement concis.

- 2 feuilles (module + form)



Tout est dans le module, la forme c'est l'exemple
d'utilisation

- 15 APIs appelées
- 18 constantes
- 4 déclarations de type
- 5 fonctions
- 3 procédures



Oui et alors? Le moindre programme qui est plus qu'un exemple d'école
en comporte 100 fois plus. Le regroupement par modules et les constantes
nommées permettent justement de pouvoir faire ce genre de choses sans
être
perdu. Le strict cloisonnement des variables, et une gestion saine de
la portée des variables fait que ce n'est pas un souci. Les Private et
les Public sont faites pour cela

Sans omettre le code qu'il faudra sans doute rajouter, et avec lequel
il
faudra en permanence jongler pour savoir à quel index on met quelle


couleur
de la listes...



Non pas du tout, le code est tout bête et l'utilisation
particulièrement simple (une ligne):
Combo1.itemData(Combo1.NewIndex) = QBColor(iIndex)

Il n'y a aucune jonglerie ici. On pourrait mal imaginer plus
simple.

Et in fine, ça provoque des complications à l'empaquetage (mais ce
n'est


pas
le sujet ici), qui fait appel à des dll ou ocx très lourds (0,8 Mo


souvent),
qui peuvent parfois être supprimés... les "OLE"...



Pas du tout. Tu n'as pas lu ou pas compris: les API appellées font
toutes parties des dll standards de Windows, et sont nécessairement
déjà présentes sur la machine de destination. Il n'y a rien à
ajouter ni à empaqueter.

Je doute que ce soit une bonne méthode d'apprentissage, et je mets au
défi
l'utilisateur qui a posé la question d'expliquer l'utilité et


l'interaction
de chaque API entre elles, il va donc faire un copier/coller sans autre
forme de procès...



Pourquoi ça? Il n'y a rien de compliqué, et on trouve des tas de
tutoriaux (en français ou en anglais) sur le subclassing et
les messages Windows. Il n'y a rien de compliqué, il faut juste
lire les docs.

Ce code n'est pas difficile à comprendre, d'autant qu'il
est parfaitement commenté. Par contre, l'écrire et le
mettre au point a du être un peu ardu, mais il est
particulièrement "sioux"!

C'est cher payé pour avoir un peu de couleur dans une liste, en un
langage
qui n'est pas du VB majoritairement...



Mettre des couleurs dans un Combo, c'est discutable sur le plan
esthétique et en plus, ça contribue à faire une interface non
standard. Mais bon, c'est un choix.

Quand au prix à payer, il est bien faible ici.

Mais bon, chacun voit midi à sa porte, du moment que comme tu le dis en
intro, ce n'est pas du VB, l'auteur de la question est désormais


prévenu...

Rectification:
- Le contrôle fourni avec VB ne permet pas de faire des textes de
couleurs
différentes dans un combo.
- VB (le langage) permet de le faire, en utilisant dans le code des
appels
à des fonctions de l'API Windows

--
Phil
















Avatar
Thierry
Ca.. Ca s'appelle de la mauvaise foi !
Pas très sport mister X !


"phil" a écrit dans le message de news:
4421434a$0$20704$
"X" wrote in message news:
> Bonjour E.G,
>
> Tu dis "Oui, via un appel aux api's windows, non via les contrôles
> standard"
> Donc en VB = NON; en langage système dans vb = OUI

Langage système ?? Ce n'est pas une notion qui existe.
A la rigueur, on parle parfois de langage machine, mais
ici, je ne vous pas le rapport :-(

> Ah la c'est exactement ça, sauf que les zAPIs ce n'est absolument pas du
VB,
> c'est du "langage système" qui peut s'appeler depuis VB en cas de besoin
> extrême (d'ailleurs utilisé en assembleur)...

VB est un langage de programmation, qui permet de construire
des fonctions appelant d'autres fonctions, etc. Et de fait, oui,
VB permet d'appeler des focntions de l'API windows. Et alors?

VB est un langage pour Windows, il est conçu pour être utilisé sur
un système donné (Windows). Il peut donc en utiliser les fonctions
de base. Il est vrai qu'on peut faire la même chose en C++, en Delphi,
ou en ce qu'on veut, pour autant que le langage permette d'appeler les
fonctions du système.

> De plus le code (qualifié de simple), est monstrueusement long juste


pour
> avoir une couleur il y a:

Lol! On n'a pas la même notion de ce qui est "monstrueusement long" ...

> - Explication est en anglais...

Oui, comme 80% des resources de programmation disponibles. Ceci dit,
une fois qu'on a vu que la méthode utilisait le subclassing, il
est très facile de se rediriger vers un site francophone traitant du
sujet, si besoin est.

> - 200 lignes de code

Ce qui en fait un code extrémement concis.

> - 2 feuilles (module + form)

Tout est dans le module, la forme c'est l'exemple
d'utilisation

> - 15 APIs appelées
> - 18 constantes
> - 4 déclarations de type
> - 5 fonctions
> - 3 procédures

Oui et alors? Le moindre programme qui est plus qu'un exemple d'école
en comporte 100 fois plus. Le regroupement par modules et les constantes
nommées permettent justement de pouvoir faire ce genre de choses sans être
perdu. Le strict cloisonnement des variables, et une gestion saine de
la portée des variables fait que ce n'est pas un souci. Les Private et
les Public sont faites pour cela

> Sans omettre le code qu'il faudra sans doute rajouter, et avec lequel il
> faudra en permanence jongler pour savoir à quel index on met quelle
couleur
> de la listes...

Non pas du tout, le code est tout bête et l'utilisation
particulièrement simple (une ligne):
Combo1.itemData(Combo1.NewIndex) = QBColor(iIndex)

Il n'y a aucune jonglerie ici. On pourrait mal imaginer plus
simple.

> Et in fine, ça provoque des complications à l'empaquetage (mais ce n'est
pas
> le sujet ici), qui fait appel à des dll ou ocx très lourds (0,8 Mo
souvent),
> qui peuvent parfois être supprimés... les "OLE"...

Pas du tout. Tu n'as pas lu ou pas compris: les API appellées font
toutes parties des dll standards de Windows, et sont nécessairement
déjà présentes sur la machine de destination. Il n'y a rien à
ajouter ni à empaqueter.

> Je doute que ce soit une bonne méthode d'apprentissage, et je mets au


défi
> l'utilisateur qui a posé la question d'expliquer l'utilité et
l'interaction
> de chaque API entre elles, il va donc faire un copier/coller sans autre
> forme de procès...

Pourquoi ça? Il n'y a rien de compliqué, et on trouve des tas de
tutoriaux (en français ou en anglais) sur le subclassing et
les messages Windows. Il n'y a rien de compliqué, il faut juste
lire les docs.

Ce code n'est pas difficile à comprendre, d'autant qu'il
est parfaitement commenté. Par contre, l'écrire et le
mettre au point a du être un peu ardu, mais il est
particulièrement "sioux"!

> C'est cher payé pour avoir un peu de couleur dans une liste, en un


langage
> qui n'est pas du VB majoritairement...

Mettre des couleurs dans un Combo, c'est discutable sur le plan
esthétique et en plus, ça contribue à faire une interface non
standard. Mais bon, c'est un choix.

Quand au prix à payer, il est bien faible ici.

> Mais bon, chacun voit midi à sa porte, du moment que comme tu le dis en
> intro, ce n'est pas du VB, l'auteur de la question est désormais
prévenu...

Rectification:
- Le contrôle fourni avec VB ne permet pas de faire des textes de couleurs
différentes dans un combo.
- VB (le langage) permet de le faire, en utilisant dans le code des appels
à des fonctions de l'API Windows

--
Phil








Avatar
X
Pas sportif, pas sportif, et de mauvaise foi: "Il était une fois, une
marchande de foie, qui vendait du foie dans la ville de foix, elle se dit ma
foi...
Mais non, et toi, à la place de "nospam", on met quoi pour t'écrire, hé
hé...
En fait dans un forum VB, une question c'est du VB par défaut. Si on répond
ce n'est pas possible en VB, celui qui reprend en évoquant une API, doit
s'il est de bonne "foi", dire, en VB ce n'est pas possible, mais en appelant
des API depuis VB c'est possible, et là ça change tout, comprends-tu... le
second ne fait pas passer le premier comme ayant donné une réponse fausse...

------
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"Thierry" a écrit dans le message de news:

Ca.. Ca s'appelle de la mauvaise foi !
Pas très sport mister X !


"phil" a écrit dans le message de news:
4421434a$0$20704$
"X" wrote in message
news:
> Bonjour E.G,
>
> Tu dis "Oui, via un appel aux api's windows, non via les contrôles
> standard"
> Donc en VB = NON; en langage système dans vb = OUI

Langage système ?? Ce n'est pas une notion qui existe.
A la rigueur, on parle parfois de langage machine, mais
ici, je ne vous pas le rapport :-(

> Ah la c'est exactement ça, sauf que les zAPIs ce n'est absolument pas
> du
VB,
> c'est du "langage système" qui peut s'appeler depuis VB en cas de
> besoin
> extrême (d'ailleurs utilisé en assembleur)...

VB est un langage de programmation, qui permet de construire
des fonctions appelant d'autres fonctions, etc. Et de fait, oui,
VB permet d'appeler des focntions de l'API windows. Et alors?

VB est un langage pour Windows, il est conçu pour être utilisé sur
un système donné (Windows). Il peut donc en utiliser les fonctions
de base. Il est vrai qu'on peut faire la même chose en C++, en Delphi,
ou en ce qu'on veut, pour autant que le langage permette d'appeler les
fonctions du système.

> De plus le code (qualifié de simple), est monstrueusement long juste


pour
> avoir une couleur il y a:

Lol! On n'a pas la même notion de ce qui est "monstrueusement long" ...

> - Explication est en anglais...

Oui, comme 80% des resources de programmation disponibles. Ceci dit,
une fois qu'on a vu que la méthode utilisait le subclassing, il
est très facile de se rediriger vers un site francophone traitant du
sujet, si besoin est.

> - 200 lignes de code

Ce qui en fait un code extrémement concis.

> - 2 feuilles (module + form)

Tout est dans le module, la forme c'est l'exemple
d'utilisation

> - 15 APIs appelées
> - 18 constantes
> - 4 déclarations de type
> - 5 fonctions
> - 3 procédures

Oui et alors? Le moindre programme qui est plus qu'un exemple d'école
en comporte 100 fois plus. Le regroupement par modules et les constantes
nommées permettent justement de pouvoir faire ce genre de choses sans
être
perdu. Le strict cloisonnement des variables, et une gestion saine de
la portée des variables fait que ce n'est pas un souci. Les Private et
les Public sont faites pour cela

> Sans omettre le code qu'il faudra sans doute rajouter, et avec lequel
> il
> faudra en permanence jongler pour savoir à quel index on met quelle
couleur
> de la listes...

Non pas du tout, le code est tout bête et l'utilisation
particulièrement simple (une ligne):
Combo1.itemData(Combo1.NewIndex) = QBColor(iIndex)

Il n'y a aucune jonglerie ici. On pourrait mal imaginer plus
simple.

> Et in fine, ça provoque des complications à l'empaquetage (mais ce
> n'est
pas
> le sujet ici), qui fait appel à des dll ou ocx très lourds (0,8 Mo
souvent),
> qui peuvent parfois être supprimés... les "OLE"...

Pas du tout. Tu n'as pas lu ou pas compris: les API appellées font
toutes parties des dll standards de Windows, et sont nécessairement
déjà présentes sur la machine de destination. Il n'y a rien à
ajouter ni à empaqueter.

> Je doute que ce soit une bonne méthode d'apprentissage, et je mets au


défi
> l'utilisateur qui a posé la question d'expliquer l'utilité et
l'interaction
> de chaque API entre elles, il va donc faire un copier/coller sans autre
> forme de procès...

Pourquoi ça? Il n'y a rien de compliqué, et on trouve des tas de
tutoriaux (en français ou en anglais) sur le subclassing et
les messages Windows. Il n'y a rien de compliqué, il faut juste
lire les docs.

Ce code n'est pas difficile à comprendre, d'autant qu'il
est parfaitement commenté. Par contre, l'écrire et le
mettre au point a du être un peu ardu, mais il est
particulièrement "sioux"!

> C'est cher payé pour avoir un peu de couleur dans une liste, en un


langage
> qui n'est pas du VB majoritairement...

Mettre des couleurs dans un Combo, c'est discutable sur le plan
esthétique et en plus, ça contribue à faire une interface non
standard. Mais bon, c'est un choix.

Quand au prix à payer, il est bien faible ici.

> Mais bon, chacun voit midi à sa porte, du moment que comme tu le dis en
> intro, ce n'est pas du VB, l'auteur de la question est désormais
prévenu...

Rectification:
- Le contrôle fourni avec VB ne permet pas de faire des textes de
couleurs
différentes dans un combo.
- VB (le langage) permet de le faire, en utilisant dans le code des
appels
à des fonctions de l'API Windows

--
Phil












Avatar
Gloops
Salut,

X a écrit :
le
second ne fait pas passer le premier comme ayant donné une réponse fausse...



Ce n'est pas grave, tout le monde peut se tromper, j'en ai fait des bien
pires :)
Avatar
X
Ben voui que tout le monde peut se tromper, ben voui que tu en as fait des
pires, lol, mais je ne me trompais pas :o)

------
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"Gloops" a écrit dans le message de news:

Salut,

X a écrit :
le second ne fait pas passer le premier comme ayant donné une réponse
fausse...



Ce n'est pas grave, tout le monde peut se tromper, j'en ai fait des bien
pires :)


1 2