CONTRÔLES STYLE XP (16 USERCONTROLS: LISTBOX, OPTION, FRAME, BAR, CHECK, BUTTONS

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 17 mai 2007 à 17:38
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010 - 4 mars 2010 à 09:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42726-controles-style-xp-16-usercontrols-listbox-option-frame-bar-check-buttons

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 18:46
"J'ai pas du mettre la bonne version du Option et du Check !!" ==> Je confirme, j'ai overwrite toute la WindowProc lors d'un copier coller récent...

Je récupère çà (enfin j'espère O_o)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 18:51
L'histoire du survol est corrigée.


Pour les container, chez moi çà marche nickel... Sur quel container as tu posé les Options ?

@+
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
17 mai 2007 à 19:16
completement inutile mais quand on vois le succes remporté par ceux qu'avait fait Renfield je comprend mieu :p
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 19:42
erf !


Comme déjà dit avant, j'ai codé çà "Comme je bossait à changer l'interface de https://sourceforge.net/projects/hexeditorvb/ "

Et pour des check et option transparents, pour un frame et un command qui acceptent une icone, pour des scolls allant jusqu'à plus de 200 milliards, pour un UpDown inexistant hors Windows Forms 2.0 (non redistribuable)... je suis bien OBLIGE de recoder tout çà !


Si je voulais "avoir du succès" avec une source, j'aurais posté un truc avec "MSN" ou "GTA" dans le titre, crois moi ;)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 21:11
V'là le controle UpDown en plus.
@+
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
17 mai 2007 à 22:17
Naaan mais c'est pas ça :p je parle pas de toi haha je sais ce que c'est de coder un controle c'est pas simple et ya quand meme du merite mais bon on peut pas etre toujours être d'accord avec tout hors je comprend pas trop l'interret de reproduire l'interface xp autant utiliser le vrai. Tu aurais tout aussi bien pu faire un desgin plus sympa je penses que c'est ce que voulait dire moustachu egalement.

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 22:25
EB ==> bé héhé, comme dit tout en haut "voilà ma série de contrôles au style XP... ou autre style, puisque les couleurs sont paramétrables !" ;)

Je propose par défaut un style XP car je le trouve, personnellement, très classieux, mais chacun peut faire son propre style en modifiant quelques lignes de codes, quelques ressources ou même plus simplement quelques une des nombreuses properties proposées.


"autant utiliser le vrai" ==> Bah oui, mais tout le monde ne l'a pas... et certains contrôles sont pourris (enfin de mon gout) sous Vista (par exemple la scrollbar... je préfère encore la mienne... c'est dire...)


"Tu aurais tout aussi bien pu faire un desgin plus sympa je penses que c'est ce que voulai dire moustachu"
> Je suis pas un expert du design, (très) loin de là... D'ailleurs en cherchant bien, on remarquera que j'ai "piqué" certaines couleurs des contrôles de Renfield... parce que les miennes étaient moches...
Tout çà pour dire que j'ai copié le style XP parce que je l'aime bien et parce que je sais pas faire autre chose -__-



Enfin bon. Prenons l'exemple du controle UpDown : tout est fait dedans (subclassing, events, properties, functions, subs...).

Il n'y a juste qu'à changer la sub Refresh pour changer le style...


@+ (n'hésites pas à te casser la tête sur le bug du Timer haute précision si tu as du temps à perdre ^^)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 mai 2007 à 00:53
salut,
houlaa, vilain le crash pour le timer :D

ce lien peut peut-être t'inspirer ;)
http://www.vbfrance.com/codes/TIMER-OCX-INTERVAL-LONG-MULTI-USAGE-CLASSIQUE-BENCHMARK_32788.aspx

je regarderai tes contrôles dimanche

(sinon des idées.... il manque des pages de propriétés, et une TextBox)
bonne nuit ;)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
18 mai 2007 à 01:04
Salut,

et bien voilà ! J'avais vu il y a quelques temps la technique de la collection d'objets (pour pouvoir libérer un event depuis une callback function extérieure) quelque part sur vbfrance, ben c'était ta source ;)
Je devrais donc pouvoir débuger (j'espère ?)

Pour les pages de propriétés, c'est vrai que c'est mieux... je vais voir si j'ai le temps.
Pour la textbox également, c'est un controle assez complexe à faire (si je pars de zéro comme c'est le cas avec les autres controles), je vais voir si j'ai le temps ou si je pars d'une textbox existante que j'améliore.

@+ et bonne nuit également ^^
waluigii Messages postés 35 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 5 janvier 2008
18 mai 2007 à 01:34
Salut,

Violent_ken il est formidable ton code...je vois pas l'intérêt de le faire...Mais sincèrement il est bien noté de ma part.

@+++

-_o
waluigii Messages postés 35 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 5 janvier 2008
18 mai 2007 à 01:47
Salut,

Question à part: Comment peut-ton faire bondir un shape sphérique...

@+ Bonne nuit à tous!
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
18 mai 2007 à 09:54
waluigii> En lui faisant peur
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
18 mai 2007 à 10:14
Waluigii ==> J'ai déjà expliqué l'intérêt ;)
Même avec un *.manifest qui donne le style XP, certains contrôles ne sont pas satisfaisants :

- Option et Check ne gèrent pas la transparence
- Progressbar ne gère pas le Wheel et limitée à 32767
- UpDown uniquement dans Windows Forms 2.0 qui n'est pas redistribuable
- Timer de VB pas assez précis
- Toggle uniquement dans Windows Forms 2.0
- etc...

Donc je vois mal comment faire autrement pour obtenir ces propriétés que de recoder entièrement tous les contrôles...


D'autant que j'ai ajouté des events qui n'existent pas avec les controles classiques (Enter, Leave, Wheel....).


"Comment peut-ton faire bondir un shape sphérique" ==> lol, aucune idée ^^ Qu'entends tu par "bondir" ?

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
18 mai 2007 à 10:20
Sinon, un bug s'est glissé dans la vkHScroll, je corrigerais ce soir ou demain.

@+
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 mai 2007 à 12:46
Salut Violent_Ken,

Déjà que je m'éclate avec ton Ocx Frame, et bien là, je suis aux "anges"...

Bravo

A+
Exploreur
waluigii Messages postés 35 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 5 janvier 2008
18 mai 2007 à 15:07
Salut,

Violent_Ken merci pour les clarifications...
Bondir étant rebondir, sauter, sursauter...en voici des synonymes.

Tout comme un ballon.

Merci,

Et Bravo pour la note tu la mérites!
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
19 mai 2007 à 10:11
Salut, merci Exploreur et Waluigii ;)

Par contre Waluiggi, je ne vois toujours pas ce que tu veux dire par "bondir un shape sphérique" ? Tu veux donner lui un effet de mouvement, comme pour un Command pressé ?


Sinon au passage, le bug du vkHScroll a été corrigé.
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
19 mai 2007 à 11:28
PCPT ==> J'ai trouvé un super tuto pour les PropertyPages :
http://activex.developpez.com/%5BActiveX_&_VB6%5D%20Les%20contr%F4les%20ActiveX.pdf

Je travaille dessus...
@+
philbar71 Messages postés 70 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 5 juillet 2013
19 mai 2007 à 13:41
Très belle réalisation !!!
J'adopte !
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
19 mai 2007 à 15:08
Merci ;)



Au passage, grosse MAJ : j'ai ajouté des pages de propriétés pour chaque controle comme le demandait PCPT !

@+
waluigii Messages postés 35 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 5 janvier 2008
20 mai 2007 à 03:55
Salut,

Violent_ken => Qu'est-ce qu'il arrive lorsque tu laisses tomber un ballon de panier à terre? ;|

Alors cela te semble tu un peu plus poussante... J'espère enfin t'avoir fait la bonne description. Sinon, je sais plus quoi te dire à toi de fouiller.

Sur ceux bonne nuit à toutes et tous!

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
22 mai 2007 à 20:55
Waluigii ==> erf, j'avoue que je ne percute toujours pas :(


Sinon, petit "sondage" : j'ai presque fini un contrôle Listbox (en fait c'est une listview lvwReport à 1 colonne).
Quels seraient les properties souhaitable pour chaque Item ?

Par exemple, chaque Item a actuellement :
- BackColor
- Checked (item checked ou pas)
- Font
- ForeColor
- Icon
- Index
- Selected
- Text
- Height (hauteur de la ligne)
- Alig (alignement du texte)

Genre on peut faire çà pour l'instant : http://www.enregistrersous.com/images/115054356020070522205442.jpg avec en plus Icone et Check (pas encore fini)

Quelqu'un a une idée pour rajouter une property intéressante ??
@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 mai 2007 à 22:12
umm....
pouvoir choisir la couleur du selecteditem (surlignage)
et pourquoi pas des méthodes FillByFile / SaveToFile ;)
il y a l'alignement? (vu le screen je suppose)

(pas encore regardé ta source mais j'ai DL la dernière maj ;) )
++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
22 mai 2007 à 22:16
PCPT ==> Oui, il y a l'alignement d'inclus. Ok pour la couleur du surlignage, j'en avais prévue une globale, je vais en faire une également pour chaque Item.

Ok aussi pour les méthodes FillByFile et SaveToFile, çà peut être très pratique !

Merci pour ces idées, je vais les coder ^^
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
22 mai 2007 à 22:22
Heu, au fait, juste une question : comment peut-on faire pour obtenir une zone de saisie, dans la boite de propriétés, similaire à celle de la property List de la ListBox ou de Text d'une textbox multiligne ?

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 mai 2007 à 23:02
umm...
j'aurais dit dans les attributs de procédure mais je n'ai pas trouvé
peut-être en typant la propriété comme une "(liste)" mais idem, je ne trouve pas le type réel.

et en générant le code par VB çà donne çà :

Public Property Get ItemData(ByVal Index As Integer) As Long
ItemData = List1.ItemData(Index)
End Property

Public Property Let ItemData(ByVal Index As Integer, ByVal New_ItemData As Long)
List1.ItemData(Index) = New_ItemData
PropertyChanged "ItemData"
End Property

(pour List1 pas vide)
seulement.... beh la propriété n'est même pas affichée
je regarderai plus en détail dès que possible

bonne soirée ;)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
22 mai 2007 à 23:06
Ok, c'est sympa ;)
J'ai appris quelques trucs notamment OLE_OPTEXCLUSIVE (pour les Options, plus simple que ma méthode pour les Containers), mais j'ai rien trouvé non plus pour les Listes -__-

Bonne soirée, @+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
23 mai 2007 à 08:42
Salut Violent_Ken,

Je suis bluffé. Ton travail est excellent. Content que tu aies trouvé du temps pour faire tout ça. J'en avais marre de mes applis au design monotone.
J'ai toutefois remarqué que si un option bouton est sélectionné par défaut, celui-ci est grisé. Saurais-tu d'où cela pourrait-il provenir ?

Merci encore,
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
23 mai 2007 à 08:58
Ah ! Merci de m'avoir signalé le bug.

Par contre je n'arrive pas à le reproduire... saurais-tu comment on peut le reproduire ?
@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 mai 2007 à 09:04
une heure de rechercehs sans succès :(
par contre cette source peut sans doute t'aider. attention les yeux :)
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=62442&lngWId=1
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
23 mai 2007 à 09:25
Ok, pareil, j'ai recherché longtemps hier soir, j'ai trouvé que des "It looks like you can not create a property for a user control that works in the same way as the Combo Boxes List property" -___-

Bon bah tant pis, je laisse tomber... Merci en tout cas pour ton aide.


Sinon pour la ListBox de planet-source-code... WOW ! C'est surtout la vitesse de remplissage qui m'impressionne... moi c'est actuellement 5 fois plus lent, mais bon c'est normal aussi vu que je laisse la possibilité de choisir les properties pour chaque item (donc Set New à chaque AddItem).
Je releaserais la mienne quand elle sera au même niveau ;)

@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
23 mai 2007 à 09:26
"Ah ! Merci de m'avoir signalé le bug.

Par contre je n'arrive pas à le reproduire... saurais-tu comment on peut le reproduire ?
@+ " --> peut-être que le mieux serait que je te donne mon code et que tu regardes.

J'ai 2 groupes d'option boutons et cela le fait pour les 2.
Dis moi comment je fais pour te donner le code si tu es intéressé ?

++
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
23 mai 2007 à 09:37
Je pense que ce n'est pas nécessaire que je te donne mon code car je pense que tu vas pouvoir le reproduire.
Le problème ne survient que si tu initialises l'option bouton à partir du code. Je le fais dans une sub appelée durant le form_load.
S'il est initialisé depuis les propriétés graphiques, il n'y a effectivement aucun souci.

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
23 mai 2007 à 09:42
MSergio ==> Je n'arrive pas à réobtenir le bug (j'ai fait un nouveau projet, posé 2 frames avec 2 Options dans chaque frame et changé leur Value dans le Form_Load, çà ne change rien) ... Pourrais tu m'envoyer ton code (par exemple, tu ouvres ta Form avec le bloc notes, tu copies tout son contenu et tu me l'envoie par message privé) ?

Merci encore, @+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
23 mai 2007 à 11:38
Ce ne sera pas nécessaire.

Le problème était que j'avais copié mon code du même projet sans ton OCX dans la form qui utilise ton OCX en ayant fait attention de garder les mêmes noms d'objet. L'option bouton de VB n'a que 2 valeurs possibles (false, true) alors que ton OCX en a 3. Apparemment quand je lui dit à l'init de la form de le positionner à "true", il l'interprète comme "2". Si je lui mets "1", il n'y a plus de problème.

Désolé de t'avoir pris du temps.

++
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
23 mai 2007 à 12:06
Je reviens vers toi pour savoir pourquoi tu n'as pas repris l'événement click pour les checkbox. J'utilisais cet événement pour tous mes contrôles checkbox ce qui me permettait de gérer le click de souris et la validation par le clavier. Maintenant, je dois utiliser 2 événements (MouseUp ou Down et KeyUp ou Down).
Me trompe-je dans l'utilisation de ton objet ?

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
23 mai 2007 à 12:11
Tu peux également utiliser l'évênement Change, qui gère Click et Touches.

Mais tu as raison, je vais remettre l'évênement Click dans la prochaine MAJ.
Merci pour ces conseils qui aident à améliorer ma source !
@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
23 mai 2007 à 12:15
Désolé de poster à tout va avant d'explorer tous tes événements. En utilisant "Change" il n'y a plus de pb.

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
23 mai 2007 à 12:17
Non, pas de soucis, tu as raison de poster, j'aurais du mettre Click plutôt que Change pour rester cohérent avec les CheckBox classiques.
N'hésites pas si tu as d'autres remarques ;)
@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
23 mai 2007 à 13:59
Je trouve que le nom que tu as choisi est plus cohérent car on ne clique pas quand on appuie sur une touche du clavier. Je pense que les développeurs Microsoft ont fait une erreur quand ils ont créés leurs événements.
Le fait que ce soit différent n'est pas dérangeant pour moi.

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
23 mai 2007 à 19:22
" moi c'est actuellement 5 fois plus lent, mais bon c'est normal aussi vu que je laisse la possibilité de choisir les properties pour chaque item"
> En fait trop pas... c'est juste que je rafraichisait 10000 fois le VScroll. Mon controle sera en fait plus rapide qu'une ListBox classique en terme de remplissage.

Je release sans doutes ce week end. (je retourne à mes révisions de physique... DAMN !)
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 mai 2007 à 00:17
MAJ importante :

- ajouté l'évenêment Click du Check
- optimisations et correction de bugs dans les Scrolls et UpDown
- ajout de la vkListBox ! VERSION BETA, je poste pour avoir vos avis sur les trucs à ajouter, enlever....etc.
Cette vkListBox est buguée, je le sais (notamment au niveau du Scroll), mais bon, donnez moi toujours les éventuels bugs que vous recontrerez.

Merci, @+

(ListBox presque aussi jolie que celle de PSC, en tout cas plus configurable ^^)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 mai 2007 à 00:25
je regarde de suite (presque un semaine de retard non? ^^)

par contre en passant, la scroll pourrait être un unique contrôle, avec le choix vertical/horizontal
(çà repasserait à 12 :D)

la listbox a t'elle une scroll horizontale? (à découvrir dans un instant)

ps : tes contrôles sont tout de même construit sur des objets (image, picturebox, ...). tu gagnerait en resources en passant par une classe

@+ tard ;)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 mai 2007 à 00:29
mauvaise ref à vklistitems, tu as du modifier le chemin manuellement mais en oubliant de supprimer la ligne.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 mai 2007 à 00:30
lol non, pas une semaine de retard, mais seulement 14 minutes ;)

Sinon oui, VScroll et HScroll pourraient être dans un seul UserControl...
Et oui, la listbox est pour l'instant (çà peut changer, de toutes façons il manque plein de trucs comme le tri...etc) avec une unique colonne, et une unique VScrollbar (bonne idée pour la HScroll, çà peut être intéressant).

Et en effet, les controles sont construits sur des objets, mais je n'ai pas la maitrise suffisante de gdi et des APIS avec un "DC" dedans pour tout passer en virtual ;) Quand j'aurais plus d'expérience dans le domaine, je l'envisagerai.


Sinon faut pas trop faire gaffe aux bugs de la listbox, j'ai posté çà comme une "base".


PS : je checke le zip et je réupload si nécessaire
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 mai 2007 à 00:34
Voilà, le zip est correct.

Par contre le fichier clsvkListItems est pas utile pour l'instant, je n'ai pas encore fixé vraiment la méthode qui sera utilisée pour les Items.

Voir ce thread : http://www.vbfrance.com/infomsg_ACCES-LENT-COLLECTION-POUR-ITEMS-FIN_949183.aspx#9

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 mai 2007 à 01:12
si la scroll est en bas, qu'on vide et ajoute des items, la scroll reste et est visible (zone centrale) alors qu'elle ne devrait pas, mais pas le nouvel item (encore vers le bas)

si on supprime la scroll, la zone reste blanche (emplacement non-occupé)

le label plante VB ^^
(ouverture de l'interface du label (ctl) avec juste la form en arrière plan (en design évidemment), lors de la fermeture du label, boom

vérifie que le subclassing ne soit bien activé QUE en execution.
NB : attention, un ctrl DANS un crtl est TOUJOURS en execution (ambient.usermode)
NB : lors de manip de ce genre, le terminate peut avoir lieu avant le initialize. bien penser à fermer le subclass QUE s'il est ouvert

ps : tu utilises des timers VB dans tes UC, pourkoi pas le tien?


ccl pour ce soir : design très sympa, pas spécialement XP et c'est tant mieux.
un regret : les pages de propriétés. pratiques mais j'entendais particulièrement des exemples préchoisis, permettant une config des toutes les couleurs par exemple.
autre regret : consomme beaucoup trop de ressources. la form met plus de 10 secondes à s'afficher chez moi :(


j'ai déjà été plus constructif, désolé...
++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 mai 2007 à 01:29
Merci pour le commentaire, qui, je te rassure, est constructif !


Pour l'histoire du scroll, il y a en effet beaucoup de problèmes...

Pour le label, je ne suis pas arrivé à reproduire le bug ??

Pour les timers... bah le mien marche toujours pas ! Et puis vu la stabilité de VB... ajouter un vkTimer avec fonction de CallBack dans un UserControl Scroll qui possède des procédures de subclassing, UserControl Scroll qui est lui même posé dans un autre UserControl subclassé ==> crash à tous les coups ;)

"vérifie que le subclassing ne soit bien activé QUE en execution." ==> Yep, si tu veux référer au VS de la listbox, certains crash doivent venir de là ! Merci pour l'info.

"pratiques mais j'entendais particulièrement des exemples préchoisis" ==> Pas de pb, de toutes façons elles sont "de base" (j'ai juste mis la liste des properties, et j'ai pas fait celle de la listbox).


Par contre là j'ai (très) peur :
"autre regret : consomme beaucoup trop de ressources. la form met plus de 10 secondes à s'afficher chez moi :("
> 10 secondes ??? Dis moi que c'est le *.vbg non compilé que tu as démarré.... parce que si c'est le *.exe compilé, OUCH !!!!
Chez moi, le *.exe met moins d'une seconde (en enlevant les instructions du Form_load), cad à peu près comme les controles de Renfield ?


Merci encore, @+ (pourrais-tu confirmer pour les 10s dans quel cas c'est ? compilé, vbp, vbg... ?)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 mai 2007 à 01:58
entre 8 et 14 secondes par le vbg (j'aurais du préciser ^^) selon ce qui tourne déjà sur le PC, pour 2 secondes en compilé (ouf :D). ce sans toucher au code.
en tout cas la lenteur est due à la lourdeur...
presque 1000 lignes à chaque fois, peut-être voir à subclasser par instanciation/implements (pas toute cette saisie bien trop volumineuse)

comme ceux de Rey, beh de mémoire sa form exemple ne contient que 2 3 contrôles, faudrait tester dans les mêmes conditions


exemple de couleurs, je fais référence à ce genre de choix :
http://www.vbfrance.com/codes/NEUROBUTTON-BOUTON-TRES-CUSTOMIZABLE_34379.aspx


en attendant, le code est très aéré, assez facile de s'y retrouver
bravo ;)
waluigii Messages postés 35 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 5 janvier 2008
26 mai 2007 à 03:37
Slt,

Violen_Ken;Laisse tomber pour la question...


P.S Cette conversation n'a pas l'air d'avoir un fin
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 mai 2007 à 09:42
Salut,

PCPT ==> Ok je vois pour les propertypages ^^
Je suis un peu soulagé pour les 2s ;) C'est trop, mais c'est mieux que 10^^ Mais je peux gagner énormément de temps : je me suis aperçu que par exemple le togglebutton était rafraichit 3 fois lors du lancement, la bar 2 fois...etc, alors qu'une seule suffit largement. Reste à savoir d'où çà vient, et je corrige.
Pour ceux de Renfield (un peu un référence pour moi^^), j'ai regardé avec le même nombre approximatif de controles de même nature pour la comparaison.


Waluigii ==> Ok, comme tu voudras.

@+ et merci
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 mai 2007 à 09:46
waluigii -> utilise le moteur avec "gravité", "rebond" ou "screensaver".
les sources ne dont pas faite pour poser des questions qui auraient éventuellement leur place sur le forum ;)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 mai 2007 à 10:16
au read (et à l'init), tu dois lire/enregistrer tes variables puis faire le refresh, alors que tu lis les propriétés qui peuvent elles-mêmes faire ce refresh ;)

exemple pour le caption du tooglebutton => Me.Caption =... au lieu de sCaption =...
à voir pour chaque controle, chaque propriété liée au propbag ;)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 mai 2007 à 10:00
PCPT ==> C'est vrai, mais il y a une variables (bNotOk) qui permet de ne pas demander le Refresh. Cela dit tu as raison.

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 mai 2007 à 11:03
Voilà une MAJ qui règle un bug du HScroll et qui optimise grandement je pense les performances lors du loading d'une form.
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 mai 2007 à 16:25
Une autre MAJ :

- ajout de clsFastCollection qui permet d'aller beaucoup plus vite (ne rame plus lors de la lecture du 20000eme élément de la liste !!)
- ajout de nouveaux events/properties dans la listbox
- bugs listbox corrigés
- nouveau screenshot (montre la possibilité d'une fonte par Item)
- possiblité de changer l'aspect de la scroll de la listbox
- stabilité grandement accrue par le démarrage du subclassing de la VS DANS la listbox (au passage, cette VS est un nouvel UserControl privé qui ne gère pas le subclassing par lui même)


Il reste donc à faire :
- PropertyPages comme conseillé par PCPT
- Sorted de la listbox
- corriger tous les bugs liés à la VS de la listbox

@+, bientôt fini ^^ (je posterais sur planetcodesource au début du mois de juin)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 mai 2007 à 18:52
Allez hop, maintenant c'est possible de trier les Items de la vkListBox...


@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 mai 2007 à 21:38
salut,
avant dernière maj -> beaucoup plus rapide (3sec en IDE). impeccable

par contre j'ai regardé le code et idem pour les 2 nouvelles classes : tu ne détruits pas les éléments
tableau => erase
collection d'objet => set nothing item puis remove item en boucle puis set nothing coll
objet => set nothing et/ou avec varptr comme tu en a fais la sub (qui ne semble pas être utilisée partout dans la classe elle-même du moins)

bonne idée pour la VS privée. un hic néanmoins, çà alourdi (forcément) et çà te force une double maintenance à chaque maj.
pourquoi ne pas ajouter une propriété que le dev doit modifier? + une sub pour démarrer le subclassing
genre IsUCChild... si oui et que mode exe DU PARENT (donc de l'uc container) alors le container appelle la sub StartAsynchronousSubClass par exemple...

j'sais pas si je me fais comprendre...
et bien sur en fusionnant le VS et HS, gain final encore plus conséquent

c'est qu'une idée...
++ ;)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 mai 2007 à 22:16
Yep, je n'ai pas pensé au "erase" (jamais utilisé auparavant !), merci bien pour le conseil.

Pour le VS privé, c'est vrai que çà stabilise énormément l'IDE, bien que çà alourdisse pas mal.
Je vais voir si je trouve un moyen d'alléger tout çà (pourquoi pas inclure la VS DANS le code de la ListBox ?) Pour l'idée du StartAsynchronousSubClass, çà peut aussi être une solution en effet.

Merci encore pour tes commentaires constructifs ^^
@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 mai 2007 à 22:28
"pourquoi pas inclure la VS DANS le code de la ListBox ?"
double voir quadriple maintenance (si tu ajoutes le HScroll)


ou tu transformes en class que tu implémentes dans ton VS, et idem dans ta LB

mais.... si le dev se fait un UC intégrant ton Scroll (UC, pas la classe), il se retrouvera avec le même pb
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 mai 2007 à 23:29
"double voir quadriple maintenance" ==> quadruple non, car si je met la VS directement dans la ListBox je ne met pas la HS avec.
Et puis certaines redondances seraient supprimés (notamment un seul subclassing et une seule WindowProc).

Pour l'implémentation pourquoi pas, mais je suis pas encore très familier avec çà ^^
Je verrais demain, mais c'est sur que c'est optimisable.
@+ et merci
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
28 mai 2007 à 00:38
Avant de me coucher j'ai 5 minutes, je poste la dernière MAJ de cette soirée :
- le timer MARCHE, mais est STRICTEMENT identique à celui de VB (avec SetTimer et KillTimer).
Pour avoir la haute précision, faut décommenter les lignes commentées et commenter les lignes KillTimer et SetTimer (qui ne sont pas précises), mais la haute précision bugue toujours (je commence à croire que çà vient pas de moi, mais que çà ne marche pas tout court).


@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
1 juin 2007 à 12:15
Bon, grosse MAJ :

- optimisé quelques trucs
- corrigé des bugs
- ajouté FileList, FolderList et DriveList (voir le screenshot).

Par contre j'ai un problème : je n'arrive pas à libérer la mémoire des icones quand le Path de la listbox change -__- Si vous avez une idée ...

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
1 juin 2007 à 12:41
De même, essayez d'accéder au dossier System32 en affichant les fichiers avec leurs icones... et voyez l'immonde bug qui en résulte...

Si vous avez une idée pour corriger ;)
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
1 juin 2007 à 20:40
Bugs résolus !

Les modes FileList, FolderList et DriveList sont pleinement fonctionnems !

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juin 2007 à 23:26
salut,
beh je vais toujours pas noter...

*vérifie les chemins (encore ^^)
*de nouveau très long à charger (7s IDE)
multiples bugs avec les nouveaux composants :
*survole check OK mais reste surcolé mêem hors zone => si on refresh par le chargement d'une autre dossier, le check reste survolé à la même position. (demande si pas clair)
*toujours des pb de scroll, donnant parfois un dossier vide comme résultat (faut re-scroller)
*l'exploration des dossiers semble éronnée (testée avec un CD en cours d'utilisation, 2 dossiers : un seul affiché. exploration du dossier : un mp3 trouvé mais pas les 15 sous-dossiers). y'a t'il aussi l'option de l'affichage des fichiers/dossiers cachés?
*les icônes ne sont pas détourées :$
*une form2 s'est perdue ^^
*une "personnalisation" est en vue?

je n'ai toujours pas regardé le code, possible ce soir si tu veux...
bon courage ;)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
1 juin 2007 à 23:37
Salut,

- "vérifie les chemins" ==> bizarre, j'ai re-téléchargé le zip je n'ai pas de problèmes ?

- "de nouveau très long à charger (7s IDE)" ==> Yep, mais le temps IDE représente de moins en moins au fur et à mesure que le projet grossit : le temps IDE augmente énormément, mais le temps compilé reste relativement court (une seconde chez moi). Cela dit je peux surement faire mieux ;)

- "survole check OK mais reste surcolé mêem hors zone" ==> exact, je change çà ^^

- "toujours des pb de scroll, donnant parfois un dossier vide comme résultat (faut re-scroller)" ==> oui, toujours les problèmes de scroll... j'ai pas encore vraiment planché dessus, je vais m'y mettre.

- "l'exploration des dossiers semble éronnée" ==> bizarre, je n'ai pas eu de problèmes ? Le listing des fichiers/dossiers/drives vient directement d'une de mes sources (FileSystemLibrary) qui marche ?

-"y'a t'il aussi l'option de l'affichage des fichiers/dossiers cachés?" ==> pas encore, mais je vais en mette une (caché, systeme, RO..., pas de problèmes ;) (c'était un reproche que je faisait avant aux Dir et FileList)

- "les icônes ne sont pas détourées :$" ==> raaah, si seulement je connaissais mieux gdi32... ;)

- "une form2 s'est perdue ^^" ==> lol oui ;)

- "une "personnalisation" est en vue?" ==> çà viendra, c'est promis !


Encore MERCI pour tous les conseils, je vais pouvoir débuger et améliorer ! Merci !
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
1 juin 2007 à 23:51
Pour l'histoire du listing des fichiers, çà fait pareil sur un CD chez moi ?? Je vais voir d'où çà vient...

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
1 juin 2007 à 23:58
J'ai trouvé le bug pour le listing des dossiers.
J'ai également réglé le bug du check des Listes qui reste en surbrillance.
Le reste dans une deuxième MAJ dimanche ;)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
3 juin 2007 à 13:10
Ajouté la possibilité d'afficher ou non les fichiers/dossiers Hidden, ReadOnly et System.

Il ne reste donc comme bugs uniquement ceux liés aux Scroll il me semble.

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 juin 2007 à 14:26
bon, un petit coup d'oeil...
Opt et Check -> ne sont réceptifs que sur l'image et le caption. faut vraiment viser (on ne peut pas cliquer à l'intérieur d'un "o" par exemple)


listbox... çà va pas :D
ok tu gères le in out pour ne plus surligner. mais l'item check ne se surligne plus alors si on le resurvole (il faut d'abord en surligner un autre)

scroll, il doit y avoir vraiment un énorme problème oui...
au refresh de ta vkListBox j'ai ajouté VS.value = 0
si j'ai bien vu çà lance le Paint (donc refresh SI tests ok)
boom, dépassement de pile

pour le temps en IDE, inchangé. il manque des tests ambiant.usermode (et parent si UC, comme indiqué précédemment)

t'a oublié le form2 :p

vkTimer et vkMouseKeyEvents -> maskcolor blanc, maskpicture = picture (le copier coller fonctionne), backstyle transparent
(il faut refaire l'image pour le timer. en bmp d'un pure blanc :p)
çà détourera sans prendre de ressource

çà sera tout pour aujourd'hui ^^
++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
3 juin 2007 à 14:49
"Opt et Check" ==> yep je sais, mais la property BackStyle d'un usercontrol l'oblige...


"ok tu gères le in out pour ne plus surligner. mais l'item check ne se surligne plus alors si on le resurvole (il faut d'abord en surligner un autre)" ==> c'est vrai ! je vais voir çà.

"pour le temps en IDE, inchangé. il manque des tests ambiant.usermode (et parent si UC, comme indiqué précédemment)" ==> yep c'est vrai, mais de toutes façons il faut utiliser les controles en compilé ;)

"t'a oublié le form2 :p" ==> erf oui

Merci, je vais mettre à jour pour les premiers bugs.
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
3 juin 2007 à 16:11
Alors là c'est bon, j'ai tout réglé sauf les bugs du Scroll !

Même si c'est long à charger dans l'IDE, je n'y peux plus rien (j'ai vérifié, chaque controle ne se Refresh qu'une seule fois).

@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
4 juin 2007 à 14:45
Salut Violent_Ken,

Je ne comprends pas pourquoi tu as fait une listbox avec une listview. Pourquoi ne pas garder la listview en tant que telle et laisser ceux qui veulent la limiter le faire eux-mêmes ?
As-tu envisagé de créer un Flexgrid hiérarchique au style XP un jour ? Je suis intéressé.
Je trouve que c'est le meilleur contrôle pour afficher des listes de données même non hiérarchisées. Enfin, ce n'est qu'un avis personnel.

En tout cas, merci encore pour tous tes contrôles. j'avais oublié de te noter. Bien sûr c'est un 10 que je t'octroie.

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
4 juin 2007 à 18:56
Salut,

"pourquoi tu as fait une listbox avec une listview" ==> en fait c'est le contraire, j'ai fait une listview avec une listbox ;) Comme son nom l'indique (vkListBox), c'est une Listbox, mais tellement plus riche que celle de VB qu'elle se rapproche d'une ListView à une colonne.
Je n'ai pas fait directement une ListView car je l'ai jugée - au départ - trop complexe, mais je ferais peut être un jour un vraie ListView.

"As-tu envisagé de créer un Flexgrid hiérarchique au style XP un jour ?" ==> Pas encore (j'utilise jamais le controle FlexGrid), je vais voir si c'est jouable, et pourquoi pas (mais quand j'aurais le temps ^^, fin d'année oblige ==> partiels, DS... ^^)

Merci pour le commentaire et la note, @+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
4 juin 2007 à 21:42
Petite MAJ : la propriété ListIndex fonctionne désormais (testé lecture uniquement).

Application : cliquez sur un item de la liste de droite avec le bouton droit...

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
4 juin 2007 à 21:48
Je précise tout de même avant qu'on me le dise, OUI cela génère une erreur quand il n'y a pas d'Items.

Tout comme un Listview vide quand on fait :
Private Sub Command1_Click()
Me.Caption = LV.ListItems.Item(1).Text
End Sub

@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
5 juin 2007 à 10:40
Merci pour tes réponses et désolé pour mon erreur sur la Listbox.

J'ai remarqué que tes contrôles ne sont pas sensibles aux raccourcis clavier ajouté grâce au & dans le caption des contrôles.
Ce n'est pas si grave mais pour un fondu du clavier comme moi, c'est un peu gênant.

++
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
5 juin 2007 à 17:47
Merci pour la précision sur la license ;)

Je ne l'avais pas encore fait remarquer, mais tes contrôles sont excellents ! (je pense que tu l'avais compris)

Je ne sais pas si cela a été dit plus haut (je n'ai pas tout lu), mais il y a un bug avec les boutons et la propriété Enabled : quand un bouton est disabled, il est bien grisé, mais on peut encore cliquer dessus. Ce n'est pas un problème en soit, c'est contournable, mais je tenais à faire part de cette remarque.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
5 juin 2007 à 19:12
MSergio ==> yep, j'ai pas pensé du tout à çà, j'essaierai de gérer çà bientot !

niczob ==> Dis le moi, si tu veux que je passe en LGPL. Sinon pour le bug du Enabled, je vais voir çà, merci ;)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
6 juin 2007 à 19:51
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
6 juin 2007 à 20:14
Suite a une demande, j'ai modifié la licence.
Par conséquent, il est maintenant possible d'utiliser ces controles dans une application commerciale sans en changer la license.

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
7 juin 2007 à 23:49
Hum, quelqun sur PSC m'a rapporté que la plupart des controles ne s'affichaient pas (tout noirs) sous Windows2000.

Si quelqu'un essaie de faire tourner le code sous Windows2000, merci de me tenir au courant du résultat ^^

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 juin 2007 à 06:33
testé sous Win2K pro sp4 avec ton avant dernière version, affichage identique à XP.
"quelqu'un" raconte n'importe quoi^^
au pire dit lui d'ajouter initcommoncontrols au démarrage de l'exe pour tester, si çà résoud le pb alors ajoute un module et sub Main à l'ocx pour faire cet appel.
possible que çà vienne de sa version de comctl32.ocx.
autrement dit soit ses SP de Win, soit pas le SP6 de VB (je penche pour çà)
++ ;)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
8 juin 2007 à 10:31
Merci PCPT, çà me rassure ... un peu ;)

Parce que Renfield vient de me rapporter qu'il avait le soucis avec XP !
"Même soucis : ils sont tout noir, jusqu'à ce que je les survole… (je suis sous Xp, au boulot…)"

Même problème que la personne de PSC : "I'm using W2K and half the controls didn't paint, were just black, till I moved the mouse over them."

C'est vraiment bizarre. L'entrée de la souris sur les controles a pour but d'activer le message WM_MOUSEHOVER et donc de lancer un Refresh.... mais ce Refresh aurait du être lancé bien avant (lors du Resize).

Damn !
@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 juin 2007 à 10:45
si c'était le paint ils seraient transparent ou gris.
je ne vois que çà pour y remédier : Declare Sub InitCommonControls Lib "comctl32" ()
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
8 juin 2007 à 10:50
Nop, Renfield vient d'essayer et çà ne change pas.
Je pense que c'est la procédure UserControl_Resize qui n'est pas exécutée (car c'est elle qui Refresh le controle lors du chargement).

@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
8 juin 2007 à 11:00
Salut VK,

Tu permets que j'abrège ton pseudo ?
Je te prie de bien vouloir excuser mon ignorance mais aurais-tu un exemple d'utilisation d'un scroll vertical. En fait, j'utilise un MSHFlexgrid qui a déjà un scroll intégré. Toutefois ce scroll fait tâche avec le reste de mon appli. J'aimerais donc utiliser ton scroll vertical. Je n'ai jamais utilisé de scroll auparavant et je n'ai pas réussi à trouver d'exemples d'utilisations de scroll. Je ne comprends pas comment on sait quand le scroll descend ou monte en particulier

Merci
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 juin 2007 à 11:22
et en mettant çà http://s150385727.onlinehome.fr/tmp/COMCTL32.OCX dans XX:/WINDOWS-WINNT/SYSTEM32 ?
(sauvagerder celui d'origine au préalable)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
8 juin 2007 à 11:32
MSergio ==> Pas de problèmes, tu peux m'appeler VK ;)
Alors pour utiliser ma VScroll dans un MSHFlexGrid, voilà comment tu pourrais faire :
- enlever les scrollbars du Grid (MSHFlexGrid1.ScrollBars=0)
- poser un controle vkVScroll à côté du Grid
- récupérer un changement de valeur du Scroll. Il y a pour çà plusieurs évênements, le plus simple étant Scroll_Change. Tu récupère donc la valeur du Scroll (vkVScroll1.Value) dans le Scroll_Change, et en fonction de çà, tu changes la première colonne visible de ton Grid en changeant la propriété TopRow. Après, il faut ajuster le Max de la Scroll à chaque fois que tu ajoutes ou enlèves une ligne.

J'espère que çà t'aideras ^^


PCPT ==> En fait, Renfield est arrivé à faire marcher les controles sur un PC où çà buguait : c'est apparement l'ordre d'appel de ReadProperies, Initialize, Resize...etc. qui est changé sur certains PC, d'où une mauvaise gestion de l'appel au Refresh.

Merci, @+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
8 juin 2007 à 12:00
Merci pour ta réponse rapide et apparemment précise. J'essaie de suite, enfin après le repas...

Merci encore.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
8 juin 2007 à 23:51
Update :

- correction du bug des controles tout noirs
- ajout d'un OCX de gestion du SysTray avec gestion automatique du crash d'explorer par hook.

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
8 juin 2007 à 23:51
*ajout d'un USERCONTROL, pas d'un OCX....
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
10 juin 2007 à 15:40
MAJ :
- ajout de la vkTextBox : c'est une classique + zone légende qu'avait inventée Renfield + numérotation des lignes + fonctions pratiques qui manquaient à la vbTextBox (GetLine, LineCount...etc.)

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 juin 2007 à 15:44
dommage que ta TextBox ne soit pas liée à TON scroll, çà casse tout le charme...
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
10 juin 2007 à 15:52
Pas d'inquiétude, je suis en train de le faire ;)

Je sais très bien que c'est moche, surtout pour ceux qui ont un thème non XP (classic ou vista) ^^

Je livre une version fonctionnelle pour voir si des gens trouvent des bugs autres que ceux liés aux Scrolls (qui sont TRES nombreux dans la version scrolls perso -__-).

Cà va venir ;)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
10 juin 2007 à 20:12
Avec un subclassing un peu étrange, je suis arrivé à inclure sans aucun bug la VScroll ;)

Je planche sur la HScroll ^^
@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
11 juin 2007 à 10:21
Salut VK,

Pour info, la propriété TopRow reste à 0 quand la propriété ScrollBars est à flexBarScrollNone pour un MSHFlexgrid. Pour utiliser ton scroll, il faut donc afficher le scroll de la MSHFlexgrid.
Je vais tester ton nouceau scroll car avec l'ancien, cela ne marchait que moyennement bien. Je ne sais pas si cela vient de mon code ou de ton scroll car c'est la première fois que j'utilise un scroll externe à un objet.
Je teste et si je n'y arrive toujours pas, je te montrerais mon code pour voir si je fais des erreurs.

++
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
11 juin 2007 à 10:52
Je vais devoir continuer mon projet sans ton scroll qui bug. Je viens de tester le dernier (10/06)et il bug toujours. Si j'utilise le même code avec un scroll de vb, cela se passe sans souci. Je pense que je vais utiliser le scroll de vb en attendant que ton scroll fonctionne sans problème.
Dans le scroll de vb, l'événement Change, ne comporte aucune variable alors que le tien en contient une appelée Value de type Currency. Est-ce normal étant donné qu'il y a déjà la propriété Value pour le scroll ?

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juin 2007 à 10:56
"Dans le scroll de vb, l'événement Change, ne comporte aucune variable alors que le tien en contient une appelée Value de type Currency. Est-ce normal étant donné qu'il y a déjà la propriété Value pour le scroll ?" ==> Oui, c'est tout à fait normal, j'ai choisis de passer ce paramètre en plus, sachant que l'on utilise très souvant Scroll.Value dans le change (donc en ayant le paramètre Value, çà permet d'éviter d'avoir à appeler la property).


Cela dit, pourrais-je te demander ton code pour que je voie où çà bug avec ma scroll ? Histoire que je corrige ma source si nécessaire ^^
Merci, @+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
11 juin 2007 à 14:05
Peut-être que ton scroll ne bug pas.
Je viens de m'apercevoir qu'après avoir réenregistré ton OCX, tous les nouveaux contrôles n'y sont pas alors qu'en créant un nouveu projet et en ajoutant ton OCX, il n'y a pas de problème. Sais-tu pourquoi ? Ai-je mal fait quelque chose ?
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juin 2007 à 14:16
Tu dois avoir plusieurs versions de mon OCX enregistrées (tu n'as pas du désenregistrer l'ancienne version avant d'enregistrer une nouvelle version).

Je te conseille de :
- désenregistrer tous les vkUserContolsXP.ocx présents sur ton disque
- recompiler la dernière version
- créé un nouveau projet et ajouter l'OCX (tu fais CTRL+T -> Parcourir et tu sélectionnes celui que tu viens de compiler)
- un nouveau OCX est coché dans la liste. Si plusieurs portent le même nom, alors il y a un conflit (plusieurs versions)
- clique sur OK et vérifie que les controles sont bien tous ajoutés au nouveau projet
- enregistre le projet
- ouvre le fichier *.vbp avec le bloc notes
- récupère la ligne qui ressemble à "Object={663909D2-4D55-47D5-BF80-43B9F88E5480}#61.0#0; vkUserControlsXP.ocx"
- ouvre TON projet
- remplace la ligne Object=.... par celle obtenue dans le nouveau projet
- sauvegarde
- relance ton projet
- et espère !!!

N'hésites pas si tu as des questions ;)
@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
11 juin 2007 à 14:22
J'aimerais bien pouvoir le recompiler mais je ne parviens pas à ouvrir le projet vkUsersControl.vbp sans erreurs. La première erreur qui génère peut-être les suivantes vient du chargement du contrôle de la textbox. Je te précise que j'ai fait la maj SP6B après avoir rencontré ces soucis seulement.
Je vais quand même testé ta manip en priant.
Merci.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juin 2007 à 14:26
Quels sont les erreurs que tu rencontres ? Quand tu essayes de compiler, çà te dis quoi ?
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juin 2007 à 15:03
Comme me le fait remarquer Renfield, le zip est mauvais.

Je ré-upload çà tout de suite, mais par contre la TextBox sera une BETA (j'ai pas encore fini de régler quelque problèmes avec la HScroll).
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juin 2007 à 15:29
Bon alors, une MAJ :

- zip corrigé : plus de fichier OCX dedans, plus de compatibilité entre projets et plus de mauvaises références. Démarrez simplement le fichier *.vbg ;)

- ajout des scrollbars perso dans la vkTextBox (et voilà PCPT ^^). Par contre j'ai sacrifié les property RoungAngle et BreakCorner, et de plus la HScroll ne fonctionne pas encore correctement, mais çà ne saurait tarder.

@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
11 juin 2007 à 16:17
Je t'ai fait un projet test où je reprends mon code pour retailler ma flex et ses colonnes, y apposer un VScroll et le gérer.
Où puis-je te l'envoyer ?
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juin 2007 à 16:20
hum, je t'envoie pas MP mon adresse mail.
@+
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
11 juin 2007 à 16:21
J'ai oublié de préciser que ta manip avait fonctionné et surtout que c'était ma faute car après coup, je me suis aperçu que j'avais 2 fois l'ancienne version de l'OCX.
Désolé pour la perte de temps.

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juin 2007 à 17:50
Bon voilà, j'ai amélioré la HScroll de la vkTextbox.

Pas parfaite, elle bug un peu (beaucoup ?). En plus elle est pas compatible avec la VScroll (entendre pas là que en mode HScroll activé, LineCount ne marche plus...)

Par contre la VScroll (celle qui est vraiment utile) marche nickel ;)
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 juin 2007 à 13:50
MAJ :
- ajouté un nouveau controle (vkScrollContainer), voir exemple pour comprendre à quoi çà sert ;)
- corrigé des bugs dans la vkBar (maintenant c'est ok pour utiliser la fonction Interactive, l'exemle est donné en bas à droite de la form, dans le vkScrollContainer)
- corrigé des bugs dans vkCommand et vkToggleButton (plus de problèmes dans le ReadProperties)
- nouvel exemple et nouveau screenshot.


MSergio a mis en avant un bug dans les Scrolls, je planche dessus et je mettrais prochainement à jour !
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 juin 2007 à 18:53
PCPT ==> J'ai ajouté des styles par défaut comme tu me le demandais (pour le vkCommand et le vkToggleButton) ;)

6 styles par défaut :
- Normal
- XP
- Plastik
- Galaxy
- Office
- JAVA

@+
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
17 juin 2007 à 09:40
Hello VIOLENT_KEN,

Je regarde toujours cette source avec plaisir et je surveille les maj car je trouve ta source d'enfer.
Par contre il ya un bug dans la dernier mais rien de grave c'est que tu as laissé les liaisons pour le vkScrollContainer.ctl avec ton projet STYLE-XP-15-USERCONTROLS.

Sinon si tu veux une autre evolution à faire tu peux ajouter une image qui change sur tes boutons command quand tu passe la souri. Vu que tu as deja une image possible il te reste juste à ajouter une autre image et tester si la souri passe sur ton bouton pour changer l'image.

Bonne continuation
FMATRIX07

PS je mets 11/10 bien que ça prenne pas mal de ressource d'utilser cette OCX ne pourrait on pas diminuer cela ?
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 juin 2007 à 10:00
Salut, alors merci pour avoir remarqué la mauvaise liaison de vkScrollContainer, j'ai corrigé.
Dans la MAJ, j'ai également
- corrigé quelques autres bugs (orientation de la Légende et quelques autres)
- ajouté la gestion du Pattern pour la ListBox (en mode FileListBox)



"Sinon si tu veux une autre evolution à faire tu peux ajouter une image qui change sur tes boutons command quand tu passe la souri. Vu que tu as deja une image possible il te reste juste à ajouter une autre image et tester si la souri passe sur ton bouton pour changer l'image." ==> Oui pourquoi pas... je pense que je le ferais dans la prochaine MAJ ^^


"bien que ça prenne pas mal de ressource d'utilser cette OCX ne pourrait on pas diminuer cela ?" ==> Hum, effectivement c'est très long à démarrer le *.vbg, mais sinon en compilé çà rend nettement mieux. J'ai commencé à inclure mes controles dans mon projet Hex Editor VB, et çà tourne assez bien. Cela dit il y a sans doutes moyens d'optimiser tout çà, çà viendra au fur et à mesure des MAJs de cette source ;)
Mais concernant la form de test, elle est bourrée de controles (+ de 80) et il y a quelques boucles au démarrage ==> prend du temps à charger. Dans un projet normal (10-30 controles par form), c'est plus rapide.

@+ et merci.
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
17 juin 2007 à 10:32
Impec je suivrai cela avec impatience

Sinon tu pourrais ajouter dans la position de l'image l'option Center en plus de Right et Left dans les boutons command

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 juin 2007 à 13:48
Yep ;)

Sinon pour te répondre plus concrêtement, les optimisations (et donc la légereté) viendront avec l'utilisations massive d'APIs graphiques (plutôt que Line, Print...).

J'ai déjà trouvé comment faire un gradient avec les APIs, reste donc que j'arrive à me passer des PictureBox et autres controles grâces aux DCs et c'est gagné ;)
(enfin faudra être patient :p)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 juin 2007 à 13:54
Pour info, la création de gradient est 47 fois plus rapide par API ;)
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 juin 2007 à 14:19
Bon j'ai fait une MAJ très rapide pour optimiser quelques peu les performances : les dégradés s'effectuent désormais par API ==> gros gain de performances et code moins long.

Egalement j'ai pris en compte le Enabled du vkListBox (le controle est différent quand il n'est pas Enable : grisé...etc)

@+
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
17 juin 2007 à 22:12
Hello

Il est vrai que ça soulage un peu le proc et le fait de passer en création gradient diminurai encore plus.

Courage petit scarabé !!! LOL

Au fait j'ai retouvé le boutton control qui utilise 2 images si ça te dis

@+
FMATRIX07
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
21 juin 2007 à 06:47
Hello VIOLENT_KEN,

Sais tu comment faire pour faire un appel de tes controles comme avec ceux de VB
je m'explique j'ai un bouton command1
avant il m'arrivait de faire dans mon code command1_click ou meme command1.value=true
mais quand je passe avec le vkcommand1 je ne peux plus l'appeller avec vkcommand1_click ou meme vkcommand1.value=true car inconnu

Merci de ton aide
FMtrixà7
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 juin 2007 à 09:14
FMatrix07 -> c'est exactement le même appel.
et si tu appelles d'une autre feuille, il faut évidemment changer la portée de l'évènement (public) comme c'est aussi le cas pour les contrôles VB
++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
21 juin 2007 à 14:12
Salut, oui bien sur il faut passer en public la procédure vkCommand1_Click() pour l'appeler d'un autre module... et il n'y a pas de propriété Value au controle vkCommand !


Truc HS : si quelqu'un sait lire le japonais : http://www.mndsoft.com/blog/article.asp?id=924 (O_o)'

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 juin 2007 à 14:28
violent_ken -> pourquoi ce lien?
manque les ref FR dans la source lignes 1 2 4 et 5
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
21 juin 2007 à 14:42
"pourquoi ce lien?" ==> je sais pas, je suis tombé dessus par hasard...

"manque les ref FR dans la source lignes 1 2 4 et 5" ==> Je comprend pas vraiment ?

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 juin 2007 à 14:59
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
21 juin 2007 à 15:08
Autant pour moi, du coréen et pas du japonais ;)

C'est en fait une traduction du code que j'ai déposé sur planet-source-code, avec un nouveau screenshot. Donc sans doutes quelqu'un qui a téléchargé mon code sur PSC et qui l'a uploadé ici ?

Je suis tombé dessus par hasard hier, et comme j'ai vu "bug" dans les commentaires, je cherchais juste à savoir ce qui était écrit !

@+
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
21 juin 2007 à 21:21
Ok
J'ai bien vu ton message je vais essayer pour le moment j'utilise
vkcommand1.WindowProc vkcommand1.hwnd, WM_LBUTTONDBLCLK, 0, 0
et ça fonctionne

FMatrix07
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 juin 2007 à 02:32
FMatrix07 -> euh... j'crois mieux comprendre ta demande : tu voulais simuler le click VISUELLEMENT ??

un contrôle, lors d'un évènement (comme le click) renvoie (raiseevent) l'évènement approprié.
dans ce code le dev met ce qu'il veut
private sub UC_Click(): msgbox "clické": End Sub

cet évènement n'est ni plus ni moins qu'une procédure, sauf qu'elle est disponible dans la liste des évènements de l'UC
donc tu peux l'appeler à n'importe quel moment.
pour l'effet visuel il faut en effet déclencher l'évènement parent (celui qui fera le raiseevent)

pour un Click, par exemple en déplaçant la souris et en cliquant (SetCursorPos + mouse_event).

toi ici, ce que tu fais, c'est appeler la WinProc en lui attribuant des params.
ouai çà marche, mais c'est tout sauf propre (tout comme déplacer la souris d'ailleurs)

tit problème de conception non? ^^


Violent_Ken -> WinProc en Friend, çà passe? sinon au pire des cas AU MOINS la masquer (attributs)
ps : toujours pas regardé ta source en profondeur mais je n'y manquerai pas ;)

++ ;)
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
22 juin 2007 à 06:28
Merci pour ce petit comment PCPT.
Non je ne voulais pas faire de clique visuel mais je me suis complié la vie, j'etais partir sur un code sans reflechir désolé, je vais juste faire ce que tu m' a dis
Commentaire de : PCPT le 21/06/2007 09:14:47 FMatrix07 -> c'est exactement le même appel.
et si tu appelles d'une autre feuille, il faut évidemment changer la portée de l'évènement (public) comme c'est aussi le cas pour les contrôles VB
++

Merci
FMatrix07
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
22 juin 2007 à 12:15
Salut VK,

Je reviens pendant quelques temps sur mon projet.
As-tu eu le temps de te mettre sur le problème du LargeChange de ton scroll vertical ?
J'ai vu qu'il n'est pas possible de changer graphiquement la couleur de la VScroll intégrée de ta listbox. Et si tu redimensionnes ta listbox graphiquement, la VScroll intégrée ne se redimensionne pas.
Pour information je n'ai que la version 15 compilée de ton OCX car je ne parviens pas à lancer la version 16 sans erreur. Les erreurs surviennent lors du chargement des objets vkHScrollPrivate et vkVScrollPrivate.

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
22 juin 2007 à 13:27
Salut, alors :

- " LargeChange de ton scroll vertical" => non, pas encore ! (DS de fin d'année ces 2 dernières semaines, donc pas le temps jusqu'à présent ^^), je commence lundi a supprimer les bugs liés aux scrolls.
- "J'ai vu qu'il n'est pas possible de changer graphiquement la couleur de la VScroll intégrée de ta listbox" ==> Changer l'aspect de la scroll de la listbox graphiquement, c'est effectivement impossible actuellement, car il manque les fichiers *.pag (page de propriété) associés à ces "sous-controles". Mais c'est tout à fait prévu.
- "Et si tu redimensionnes ta listbox graphiquement, la VScroll intégrée ne se redimensionne pas" ==> ah, je vais voir çà, merci.
- "car je ne parviens pas à lancer la version 16 sans erreur" ==> le mieux est de désinstaller l'ancienne version avant d'essayer une nouvelle. Mais pour ce problème précis, le remède est facile ;) Il suffit d'éditer les controles qui buguent avec les scrolsl privates, de supprimer les scrolls, et de les ré-ajouter en les renommant du même nom. Cà devrait suffire ;)

Je ferais une MAJ en début de semaine, j'espère arriver à corriger la totalité des bugs rencontrés avec les scrolls, que ce soit en Private (dans la listbox ou la textbox) ou dans les controles Scroll eux même.

Egalement, j'ai prévu d'ajouter le support de l'Unicode dans mes contrôles (si j'y arrive !).
Puis reste aussi une ListView qu'on m'a démandé de faire (devrait pas être trop trop dur), de la transparence alpha (ouch !) et enfin un mshflexgrid (par contre là je sais pas encore si c'est possible).

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
25 juin 2007 à 20:37
Salut, v'là la première MAJ, j'ai corrigé de nombreux bugs :

- la scroll de la vkListBox change de position lors des ajouts d'Items
- plus de bug lors du LargeChange (MSergio, c'est ENFIN bon normalement ! ^^)
- plus de bug de SetFocus lors du vkCommand_Click
- meilleur comportement du vkCommand (lors du MouseUp, et pas possible hord de la zone du controle)
- ...

Je travaille sur les autres problèmes des Scrolls.
@+
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
25 juin 2007 à 20:42
Impatient j'essai
@+
FMatrix07
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
25 juin 2007 à 20:57
Dans les
Private Sub UserControl_GotFocus()
'alors on va tracer un BÔ rectangle de sélection
Dim R As RECT
Dim y As Long
Dim x As Long

'If bEnable = False Then
'on ne garde pas le focus
Call SendKeys("{Tab}")
Exit Sub
End If

Private Sub UserControl_GotFocus()
'alors on va tracer un BÔ rectangle de sélection
Dim R As RECT
Dim y As Long
Dim x As Long

' If bEnable = False Then
'on ne garde pas le focus
Call SendKeys("{Tab}")
Exit Sub
End If

il y a un cote en trop devant les If


Sinon
Tu n'as pas ajouté la position de l'image l'option Center en plus de Right et Left dans les boutons command ? LOL
Tu n'as pas ajouté une image qui change sur tes boutons command quand tu passe la souri. Vu que tu as deja une image possible il te reste juste à ajouter une autre image et tester si la souri passe sur ton bouton pour changer l'image ? LOL

@+
FMatrix07
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
25 juin 2007 à 21:18
-____-

Il y a eu tellement de posts entre temps que j'ai oublié... j'ai pourtant relu les commentaires en partant des derniers, mes MP et les commentaires sur PSC pour trouver les bugs à corriger...

Ce sera fait dans la prochaine MAJ (enfin, pas celle tout de suite vu qu'il faut que je vire le petit bug, mais celle d'après), c'est PROMIS !
Désolé d'avoir oublié.... @+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
25 juin 2007 à 21:23
Voilà, la source est à nouveau fonctionnelle.

Donc comme je l'ai dit, j'aurais inclus les modifications demandées lors de la prochaine MAJ.
@+
Utilisateur anonyme
25 juin 2007 à 21:40
Yhaooo, ca ne manque pas de commentaires. (dsl, j'ai pas tout lu)
Bon, même si je ne suis pas grand fan des contrôles personnalisés dans les applications, ceux la sont bien réussit.
Allez, je balance une idée qu'on ne voit pas souvent :
Dans les listbox, y'a souvent des CheckBox, pourquoi pas pouvoir mettre des OptionsButtons ? Ou les deux à la fois. C'a m'aurais été utile plus d'une fois.
A quand la TreeView (ou TreeListView serait encore mieux) ? (avec aussi des optionboutons dedans ^^)
__
Kenji
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
25 juin 2007 à 23:15
Cool si tu fais les ad que je t'ai soumis.
Enfin tu les fais si tu le souhaite ce n'est qu'une proposition.

Sinon si Nix passe par là au bout de combien de commentaires vous donnez un trophé à une source car celle-ci le merite bien.

@+
FMatrix07
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
25 juin 2007 à 23:53
Charles Racaud ==> Oui, un OptionButton dans la vkListBox, pourquoi pas, je note dans la (longue) liste des 'TODO' ^^ Comme çà dès que j'ai le temps, j'essayerai de mettre en oeuvre ;)
Sinon pour un TreeView/TreeListView, pourquoi pas, je pense que je vais déjà faire un vkListView (si j'y arrive), et je verrais si c'est possible à faire un TreeView simplement.

FMatrix07 ==> Pas de soucis, dans la prochaine MAJ tu auras l'option "Center" pour l'image dans les vkCommand, vkToggle et vkFrame. Par contre le positionnement du texte (avec l'image au centre) sera un peu difficile... ?
De même, je rajouterai une property MouseHoverIcon qui contiendra l'image à afficher en icone lors du survol d'un vkCommand par la souris.
Demain normalement ;)

@+ et merci pour les commentaires
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
26 juin 2007 à 09:12
Merci VK,

Je teste de suite...

++
cs_MSergio Messages postés 21 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 26 juin 2007
26 juin 2007 à 17:12
Apparemment le LargeChange est parfaitement géré maintenant. Je ne vois pas d'autres probèmes à te signaler sur ton VScroll.
En revanche as-tu l'intention d'ajouter la gestion des raccourcis clavier si on ajoute un & dans la propriété caption d'un contrôle ? Cela m'apparaît indispensable. En ce qui me concerne, je ne supporte pas les applis qui ne permettent pas d'utiliser ces raccourcis. Il suffit de tomber en panne de souris pour que cela puisse nous permettre de travailler. Je serais vraiment déçu si tu ne planifiais pas dans le futur de l'implémenter. Ce n'est qu'un avis personnel. Je suis tout de même surpris d'être le seul affecté par ce manque.

Merci pour ton boulot quoi que tu décides,

++
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 juin 2007 à 17:18
Content que le LargeChange ne pose plus de problème ^^

"En revanche as-tu l'intention d'ajouter la gestion des raccourcis clavier si on ajoute un & dans la propriété caption d'un contrôle ?" ==> Affirmatif. Je pense d'ailleurs que tu me l'avais déjà demandé, mais comme pour FMatrix07, je ne l'avais pas noté dans TODO.txt. C'est maintenant chose faite (j'ai noté dans le fichier TODO), donc dans une MAJ prochaine le '&' sera géré comme étant un raccourci.

"Je suis tout de même surpris d'être le seul affecté par ce manque." ==> Bah perso, je n'utilise jamais les raccourcis ;)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
28 juin 2007 à 19:53
Salut !

Assez grosse MAJ :

- cochage des Checks dans une vkListBox lors du double clic sur un des Items
- j'ai résolu pas mal de bugs liés au focus et à la touche Tab (merci Mew27 !)
- caché la WindowProc de la vue du projet utilisant ces controles
- ajout de la gestion d'une icone lors du survol d'un vkCommand ou vkToggleButton
- ajouté la gestion des raccourcis des controles ('&' dans le Caption)
- gestion de l'Unicode (pour tous les textes de tous les controles, sauf le .Text de la vkTextBox, j'espère trouver comment faire)
- nouvel exemple + nouveau screen

FMatrix07 ==> Je n'ai pas pu ajouter l'alignement central des Icones parce que je ne sais pas comment gérer la position du texte avec une picture au centre ! (en clair : où veux tu que je mette le texte si la Picture est au centre ? Juste à gauche ou à droite avec la property TextAlignment ?)

Nota : encore quelques bugs avec la gestion de l'Unicode (les FocusRect pas à la bonne dimension, car TextWidth aime pas trop l'unicode ^^)

@+
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
28 juin 2007 à 22:17
Gestion de l'unicode ! hé beh ! y'a du boulot en continu !

En tout cas rien que la capture a vraiment de la gueule ^^
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
28 juin 2007 à 22:51
Héhé, l'Unicode c'était pas très compliqué (DrawTextW au mieux de DrawText), mais là où çà va être marrant, c'est pour permettre d'afficher de l'Unicode dans la vkTextBox (va falloir subclasser je sais pas comment la TextBox...).

Mais c'est vrai que çà rend bien ^^
Bientôt plus de place dans une seule Form pour tout montrer !

@+
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
29 juin 2007 à 06:29
Salut VIOLENT_KEN

D'enfer ta nouvelle MAJ mais tu ne t'arreteras jamais enfin j'espere

La gestion de l'icone en cas de survol est impec.
Pour ce qui est de la position center de l'image il est vrai que ça ne peut etre valable que s'il n'y a pas de texte je regarde de mon coté.

Par contre il faudrait que tu vois pour qu'il y ai un retour à la ligne en automatique du texte quand celui ci est trop long pour etre affiché sur une seule ligne ex: dans les vkcommand

Pas mal ton unicode.

Que la force soit avec toi et bon courage
Je regarderai les MAJ suivante avec grand interet

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
29 juin 2007 à 11:30
Ok, je note pour le retour automatique à la ligne !
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
29 juin 2007 à 12:22
Petite MAJ rapide pour ce matin :
- corrigé un bug dans le Timer (quand on changeait les properties Enable et/ou Interval en leur laissant les même valeur, çà provoquait un bug)
- corrigé 2 bugs dans le tri de la vkListBox (en tri inverse de l'alphabétique, le premier Item n'était pas pris en compte + pas de réorganisation des Items si tous sont identiques)
- ajouté le retour automatique à la ligne dans vkCommand et vkToggleButton

Reste à corriger LE plus gros bug (zone blanche à la fin de la vkListBox), j'essaye de le faire aujourd'hui.
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
29 juin 2007 à 20:23
Re, v'là la dernière MAJ de la journée...


La vkListBox n'est plus en Beta2, j'ai corrigé TOUS LES BUGS CONNUS !!
(excepté celui du survol des checks qui foire encore un tout peti peu, à la prochaine MAJ ce sera bon ^^).

Voilà !!

@+ ;)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
2 juil. 2007 à 11:53
Hello !

Cà y est c'est bon, j'ai supprimé la totalité des bugs rencensés de la vkListBox !!

@+

(svp si vous trouvez un bug, n'hésitez pas à me le dire !)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
2 juil. 2007 à 22:36
Salut, j'ai attaqué un 17eme controle dont j'avais grandement besoin : le TabStrip (celui de VB étant très pauvre, pas de couleurs.... et surtout TabCount de 255 maximum !)

Chaque Tab est entèrement paramètrable (icone, gradients...), comme pour les Items de la vkListBox.

Que dois-je envisager comme autres innovations par rapport à un TabStrip normal ?
Moi je n'en sais rien vu que je n'utilise habituellement le TabStrip que de manière très basique ?

@+
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juil. 2007 à 22:46
salut,
tabstrip ou sstab?....

surtout les méthodes pour savoir sur quel onglet on se trouve, activer un onglet (simuler click), une icône, le choix individuel de la typo serait un +, autant de backpicture que de tab, un fond transparent? (tu vas galérer là ^^), et surtout qu'on puisse l'agencer en mode design => click sur 3° active le 3° et masque les contrôles posés sur le 1°

des idées en vrac ;)
bon courage ++
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
2 juil. 2007 à 23:05
Ah ouais "agencer en mode design" comme dit PCPT ça serait excellent ! m'enfin ça doit demander du boulot ça !
Mais c'est vrai qu'en l'état des choses c'est souvent pas pratique (le tabstrip de vb)

Félicitation (encore une fois ^^) pour l'avancement des controles sinon
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
3 juil. 2007 à 11:01
Salut !
je voudrais pouvoir changer l'image d'un bouton dynamiquement, mais manifestement ça ne marche pas. Voilà comment je fais :

MyButton.Picture = LoadPicture(App.Path & "\Ressources\newImage.bmp")

De même en passant par les handle (.Picture.Handle = LoadPicture(...).Handle), ça fait une erreur.

Est-ce normal, ou je m'y prends mal ?

PS : pour des idées de nouveaux contrôles, perso j'aurais besoin de sliders au style XP ...
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
3 juil. 2007 à 11:14
Yep, en fait je fait plutôt un SSTab ;)

Pour l'édition en mode design, c'est possible, mais seulement dans une certaine mesure (c'est à dire que contrairement au SSTab où il suffit de cliquer pour changer de Tab, moi il faudra faire Clic Droit -> Modifier -> Changer de Tab).
Et merci pour les idées !


niczob ==> Je vais corriger ce bug. Sinon pour le slider, çà doit pas être trop compliqué, je vais essayer de voir ce que je peux faire...

@+ et merci pour vos commentaires ^^
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
3 juil. 2007 à 11:24
niczob ==> Actuellement, pour réaffecter un nouvelle picture à un de mes controles (vkFrame, vkCommand...), il faut mettre un 'Set' devant.

Exemple :

Set vkCommand1.Picture = LoadPicture(App.Path & "\Ressources\close.ico")

Est-ce gênant et je dois essayer de changer ou c'est bon ?
@+
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
3 juil. 2007 à 11:43
Je viens de m'en rendre compte pour le Set ... j'ai plus l'habitude de faire du VB6 ( .Net à fond ...)
Ce n'est pas gênant pour moi !

Merci :)
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
4 juil. 2007 à 06:31
Hello VIOLENT_KEN

Le SET n'est pas gênant il suffit juste de le savoir

Bonne continuation
Epate nous encore avec ta souce elle nous ravi

@+
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
5 juil. 2007 à 09:35
Salut Violent_Ken, une remarque sur tes contrôles : apparement les raccourcis claviers, bien que implémentés récemment, ne fonctionnent pas.
Sur une form avec le KeyPreview à True, j'ai placé 2 boutons avec des raccourcis claviers, un VB et un des VK, seul le VB marche.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
5 juil. 2007 à 09:43
Salut, je viens de faire la même manip (un bouton normal et un vk sur un form, avec ou sans KeyPreview), et çà marche bien.

Tu as bien la dernière version ?
@+
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
5 juil. 2007 à 15:29
Avec la dernière version ça marche effectivement. J'avais la version du 30/06.

Cool :)
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
11 juil. 2007 à 15:45
Salut Violent_Ken, j'ai des problèmes de rafraichissement de l'image sur un vkCommand.

Lorsque je clique sur mon vkCommand, l'image disparait sous le click, et ne réapparait qu'en fin de traitement du click, ou/et lorsque je retire la souris de dessus mon bouton ... Bref j'ai un souci de rafraichissement.

As-tu le même problème ?
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 juil. 2007 à 17:52
Salut, j'avoue que non, je n'ai aucun problème.
Qu'y a t-il comme code dans le vkCommand_Click ?

@+
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
11 juil. 2007 à 23:59
Pour ma part je n'ai aucun probleme
@+
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
12 juil. 2007 à 13:47
Je viens de faire un nouveau projet avec juste un vkCommand, une image gif dans la propriété Picture, et pas de code dans le bouton.
Quand je clique sur le bouton, l'image disparait, et ne réapparait que si je sors la souris de la zone du bouton.
Je n'avais pas ça avec la précédente version...
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
13 juil. 2007 à 10:31
Salut Violent_ken, j'ai toujours mon problème de refresh des images dans le vkCommand :/
je me pose une autre question sur ton contrôle UpDown : quand je change la Value du UpDown dans le code, je ne récupère pas cette valeur dans l'évènement 'Change(Value as Currency)'.

Exemple :

Private Sub IncrNbPhoto()
intNbPhoto = intNbPhoto + 1
'Met à jour le UpDown
vkUpDownPhoto.Value = intNbPhoto
End Sub

Private Sub vkUpDownPhoto_Change(Value As Currency)
intNbPhoto = Value
End Sub


la valeur de Value dans l'évènement correspondant à la valeur précédente, et non la valeur actuelle (celle que je viens de lui attribuer). Ce n'est pas le même comportement que la UpDown VB. Est-ce voulu ? (moi ça m'embête ...)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
13 juil. 2007 à 10:49
Pour le problème d'image lors du survol... ben en fait tu as raison ! Un problème apparait, mais uniquement en compilé (pour çà que je ne l'avais pas vu le premier coup). Je vais essayer de corriger le bug.

Pour le UpDown, j'ai en effet iversé deux lignes de code (le RaiseEvent était avant le changement de Value), je corrige çà.

Merci, @+
JoJo797 Messages postés 1 Date d'inscription vendredi 9 juillet 2004 Statut Membre Dernière intervention 10 août 2007
10 août 2007 à 17:00
Sorry but I'm Italan e I don't speak french. Very nice controls! It's possible to add the "Top Allignment" and "Bottom Allignemet" (insted of the X and Y offset) to the Button Control?
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
10 août 2007 à 17:53
Hi !
Yes you're right, I've forgot the vertical alignment property.
I'll add it in the next update. But as I can't work on it in august, I'll upload the new version in a month.
I'll fix some other bugs I've found recently, and I'll include Renfield's class to do subclassing.

Thx, see ya
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
24 sept. 2007 à 12:02
Salut Violent_Ken,

Un petit "truc bizarre", dans le contrôle TextBox, on ne peut pas donner une autre couleur à la propriété : foreColor que le noir...
Ou alors je ne sais pas me servir de ce contrôle ???

A+
Exploreur
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
24 sept. 2007 à 13:35
Au grand regret que ta source ne sorte pas en .net, plateforme qui elle, est librement utilisable ...

A bientôt, salut .

Loloof64
pablito222 Messages postés 1 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 5 octobre 2007
5 oct. 2007 à 15:00
bonjour à tous.

Je suis un Espagnol qui visite cette page trés souvent, et je voudrais savoir si l'auteur va la mettre à jour ??
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
5 oct. 2007 à 15:46
Bonjour,

Cà fait longtemps que je n'ai pas fait de mise à jour (à cause de quelques problèmes diverses + peu de temps avec les études) mais je n'ai pas abandonné cette source pour autant.

Je possède actuellement une version plus évoluée que celle-ci, mais je préfère attendre encore quelque temps avant de mettre à jour (pour la prise en compte des demandes de chacun, la correction des derniers bugs rencontrés et le passage au subclassing de Renfield).

J'aurais dû uploader cette version il y a quelques temps déjà (1 mois), mais je n'ai pas pu le faire.
Donc oui, je mettrai à jour, c'est certain, mais je ne peux pas dire quand exactement... Je vous tiendrai au courant ;)

Merci, @+
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
23 oct. 2007 à 11:33
Salut Violent_ken,
j'ai une question à propos de la gestion de l'unicode : à fonte identique, je n'ai pas la même écriture avec de l'arabe quand je confronte un controle optionButton (par exemple) et un Label de MS Forms 2.0 (FM20.dll) (fonte : Tahoma 10 script arabe).
C'est assez embêtant pour mon boulot :(
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
23 oct. 2007 à 23:15
Salut,
En fait, la gestion de l'unicode est gérée par les dll Windows : j'utilise des fonctions de l'API (en particulier DrawTextW). Du coup, je ne maitrise pas dans mon code l'affichage résultant (il est géré directement par Windows).

Donc je vois pas trop où pourrait se situer le bug... ?

Pourrais-je voir une image montrant la différence entre Forms 2.0 et mes controles ?
Quel lignes de code as tu mises pour afficher l'Unicode (ChrW ?) ?
@+
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
25 oct. 2007 à 18:05
Salut vk,
voici ce que je voudrais afficher (par exemple, avec une fonte Tahoma) :

ChrW(1577) & ChrW(1610) & ChrW(1606) & ChrW(1583) & ChrW(1605) & ChrW(1604) & ChrW(1575) & ChrW(32) & ChrW(1577) & ChrW(1604) & ChrW(1575) & ChrW(1581) & ChrW(1604) & ChrW(1575)

Regarde ce que donne cette chaine dans un contrôle MS Forms 2.0 TextBox, et une vkTextBox configurée en useUnicode True, font : Tahoma, script : arabe.

Rassure-toi il n'y a pas de bug dans la gestion de l'unicode dans ton contrôle (d'ailleurs je ne parle pas de "bug").

Effectivement, ton contrôle se contente de faire appel à l'API windows, mais c'est manifestement beaucoup plus compliqué que ça d'afficher une langue telle que l'arabe (jette un coup d'oeil ici si ça t'intéresse : http://www.unicodeactivex.com/UnicodeTutorialVb.htm).

Le truc compliqué c'est de rendre l'écriture "cursive", tout attachée quoi. Il est évident que c'est beaucoup trop de boulot que d'implémenter de tels algos dans tes contrôles ... en ce qui me concerne je vais donc m'en passer et remplacer tous les vkLabel par des MS Forms 2.0 Label (j'ai pas le choix :/).

à+ ! :)
cs_titi2b Messages postés 24 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 20 février 2010
14 nov. 2007 à 14:23
Bonjours a tous juste un petit commentaire.
Trés beau controles, mais comment peut ont changer ou ajouter mouse pointer sur vkcommand ?
Sinon il est vrai qu'il manque pour finaliser tous ces controles un sstab.

a bientôt
Philippe222 Messages postés 6 Date d'inscription mercredi 21 décembre 2005 Statut Membre Dernière intervention 26 juillet 2009
10 janv. 2008 à 17:35
Bonjour,

Si on fait un large emploi de l'Unicode, il y a toujours un problème quelque part. Mais ici on a presque tout. Toutefois, comment faudrait-il faire pour passer les menus en Unicode et en chinois ?

Merci d'avance
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
15 avril 2008 à 17:28
Bonjour,

Merci pour ces contrôles
Non seulement ils gère l'unicode (ce qui étais un problème pour moi) mais en plus ils sont beau. Ravie 10/10
tharkhun Messages postés 1 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 7 mai 2008
7 mai 2008 à 13:50
Salut a tous,
Je suis débutant (ben oui, faut bien un jour !) et j'ai un petit probleme lors de l'utilisation de ces controles. Il est dit qu'il faut compiler le fichier "vkUserControlsXP.vbp" pour obtenir l'ocx. Seul probleme lorsque je lance la comilation ie s'ouvre et le script est bloqué. j'ai essayé de mettre toutes les sécurités au minimum mais rien n'y fait ! Est-ce que quelqu'un peut m'envoyer l'ocx ou y a t il une solution plus simple ?

Merci

Tharkhun
tombuv@yahoo.fr
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 mai 2008 à 14:00
tharkhun -> tu confonds compilation et execution.
un projet ActiveX ne peut pas être lancé seul.
pour compiler, pas "run / F5", juste Fichier > créer vkUserControlsXP.ocx
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
13 juin 2008 à 11:36
ben bravo, maintenant je refais la déco de mon appli, comme si j'etais pas assez à la bourre comme ça!!
Pour certain c'est inutile pour moi c'est un bonheur, d'une part pour le style (mes chefs vont adorer), d'autre part pour la gestion des évenement et la possiblité d'ajouter les evenements souris a n'impeote quel controle (ca c'est trop fort), ca m'a ouvert des possibilité que je ne n'arrivais pas à gérer avant, merci.
Si ya une SSTab dans les tuyau je suis preneur, par contre je n'ai pas trouvé de combobox, j'aurai pourtant pensé que c'etait un controle de premiere necessité!
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
13 juin 2008 à 16:56
Apres quelques test simple sur le VkListBox, je n'arrive pas à appliquer un changement de police à un seul item (bold, underline, size...), tous les autres suivent le changement.
Par contre coloriser un item de façon différente (forecolor ou backcolor) fonctionne bien.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
13 juin 2008 à 23:49
Salut !

Alors déjà désolé si je ne réponds pas à tous les messages (j'ai de moins en moins de temps -___-), mais là il s'agit d'une erreur assez importante et donc voilà la solution : dans vkListBox.ctl, dans la méthode AddItem, il faut remplacer le début du code par çà :


Dim tIt As vkListItem
Dim bOk As Boolean
Dim tF As StdFont

lListCount = lListCount + 1

'redimensionne les tableaux avec le nombre d'items de la liste
ReDim Preserve bChecked(lListCount - 1)
ReDim Preserve bSelected(lListCount - 1)
'ReDim Preserve lHeight(lListCount - 1)

If Item Is Nothing Then
'alors on créé un nouvel Item dont on définit les prop par défaut
Set tIt = New vkListItem
Set tF = New StdFont
tF = UserControl.Font
With tIt
.BackColor = lBackColor
.Checked = False
.Font = tF




De plus, pour bénéficier de la possibilité de changer de fonte PAR item dans la form de test (dans le cas des 100 items avec icone), il faut créer une instance de fonte par Item.
Donc changer dans vkCommand9_Click :

.Font = Me.Font

par

Dim f As StdFont
Set f = New StdFont
f = Me.Font
.Font = f



Et voilà ! Et bien sur s'inspirer des exemples de la form de test pour utiliser mes contrôles.
Sinon, il est maintenant simple de passer un item particulier en gras :
List.Item(1).Font.Bold = True

Merci pour avoir repéré ce bug ^^


Sinon, j'ai modifié pas mal de problèmes entre ma dernière version et celle présente sur vbfrance. Je n'ai pas mis à jour sur vbfrance car c'est assez long de créer un fichier *.zip clean, mais la toute dernière version est disponible sur Sourceforge.net, via SVN (ou en download, mais le package n'est pas à jour non plus ^_^).
http://sourceforge.net/projects/vkusercontrols/ (URL du projet)
URL SVN : https://vkusercontrols.svn.sourceforge.net/svnroot/vkusercontrols

Sinon, j'ai un début de SSTab mais c'est pas terminé (je ne sais pas quand ce sera prêt, faudra probablement être patient ^^).
Pour la combobox, effectivement je ne l'ai pas codée (et ce serait utile), mais il est toujours possible d'en bricoler une en attendant ^^ (vkCommand + vkTextBox + vkListBox visible ou non).

@+
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
18 juin 2008 à 00:01
Si toi tu t'excuses moi je fais quoi! je rampe sous tes pompes!!!
Merci pour l'astuce du "pseudo" combobox(et bien sur pour la correction du listbox), j'imagine qu'il faux accoler aussi au vktextbox un vkcommandbutton avec un image de flêche vers le bas pour que la vkillusion soit complete!!
Ca peut être rigolo à faire mais j'acceuillerai quand meme l'arrivée du vkcombobox avec joie (des fois que tu t'ennuie et que tu ne saches pas quoi develloper...).
Sinon quite à passer pour un profiteur, une idée de develloepment pour le SStab me viens :
Ce serai un vkSStab qui gère lui meme les redimenssionnement et repositionnement des controles qu'il contient sur un évenement "resize".ou qui gererai lui même l'apparition d'ascensceur.
J'ai comme un doute pour cette derniere proposition, rassurez moi ca n'existe pas deja???
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
23 juin 2008 à 12:10
bonjour, juste un petit bug à signaler sur le VkListBox.
Lorsqu'on le redimensionne dynamiquement (je fais varier la taille des controles sur l'évenement resize de la form)l'ascenceur ne suit pas, il garde sa taille initiale. Par contre il se reajuste quand on passe la souris dessus.
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013
25 juin 2008 à 16:10
Bonjour VK (et les autres),
Tout d'abord chapeau bas, pour ces controles, même si l'ère est maintenant celle de vista, le look xp a toujours son charme... A quand le SSTab tant attendu ? Je colorise les miens par un hock mais pas terrible en matière de paramétrage...
Merci beaucoup pour ton partage...
Bonne prog à tous.
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013
25 juin 2008 à 16:12
Ha! j'oubliais, un petit bug : dans la demo en cliquant sur la vkListBox "List" on obtient une erreur qui plante tout.
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013
25 juin 2008 à 16:49
C'est encore moi, rien de grave en definitif sur List avec le bouton droit quand la liste est vide, il n'y avait pas de vérification pour savoir si cette liste était vide, en ajoutant dans le if "and List.ListCount > 0" ca devrait corriger (pas essayé, mais confiant)
@+ JLN
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
26 juin 2008 à 12:32
re petit bug à signaler, j'ai un souci avec le VKTextBox. l'ascencer horizontal ne veux pas dérouler le texte vers le bas, j'y arrive en cliquant dans la zone de texte et avec la fleche clavier, a ce moment l'ascenceur fonctionne pour faire dérouler le texte vers le haut, mais ne fonctionne toujours pas vers le bas
voila, bonne continuation...
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 juin 2008 à 19:26
Bonjour tout le monde,
alors je prend note, je corrigerai les bugs la semaine prochaine. Pour la scrollbar de la textbox, je connais le problème (cf description), c'est pas sur que j'arrive à régler tout de suite (bug pas évident).
Pour le SSTab, va falloir que je trouve le temps ^^


Héhé, pour l'ère Vista, je prend également note :-)
@+
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
27 juin 2008 à 00:08
ouais desolé si je repete des trucs dis plus haut mais je me souviens avoir lu le descriptif et les commentaires d'affilé un jour et à la fin je ne me souvenais plus de ce qui se disait au debut!
A se demander comment j'arrive a programmer avec une memoire de poisson rouge.
En tout cas, j'ai testé les rectificatif pour appliquer les fonts differentes par item, et grand merci, ca me retire une fiere chandelle du pied!
Je me demandais comment faire pour presenter des choix multiples hierarchisé et du coup je peux présenter les données principales en gras et souligné, les secondaires seulement en gras etc....
Apres avoir changé la fonte d'un des items faut quand même penser à faire un vklistbox.refresh sinon ca ne se fait pas automatiquement.
Bon courage
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
27 juin 2008 à 00:54
oh quel dommage, je viens de me rendre compte que le vklistbox ne gère pas le itemdata, je trouvais ça très pratique pour y stocker les identifiants de mes libellé. Je vais pouvoir le débrouiller autrement ceci dis, mais snif!
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 juin 2008 à 08:18
Mais qu'est ce que c'est que le 'ItemData' ??

Si c'est une zone mémoire allouée à chaque Item pour y stocker des données, il y a les attributs tagString1, tagString2 et tagLong pour stocker 2 strings et un long par Item dans mes controles.
Sachant que dans le long (voire les strings), on peut stocker un pointeur vers n'importe quoi (cf strptr, objptr...etc), je pense que çà devrait aller pour stocker "les identifiants de tes libellés".

Si c'est autre chose (?), je regarderai ce que c'est :-)
@+
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
27 juin 2008 à 09:18
oops, j'avais pas vu, l'itemdata du combobox classique de vb6 sert effectivement à ca. J'ai le choix entre trois maintenant!
Je n'ai plus qu'a aller voir ce qu'est un pointeur (ca fais même pas un an et demi que je programme)
cs_LagPhil Messages postés 8 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 20 août 2009
26 sept. 2009 à 10:03
Bonjour, d'abord toutes mes félicitation pour les controles xp, ils sont magifiques.
J'ai juste une petite question.
Voilà depuis 9 ans, je programme un logiciel de maintenance vendu par ma société.
J'aimerais donnée un petit coup de jeune à ce logiciel en utilisant votre OCX pour les controles.

Puis-je le faire gratuitement, ou y at'il une demande particulière à faire.
N'étant pas informaticien, je suis incapable de créer de tels contrôles.
Encore bravo et merci par avance de votre réponse.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 sept. 2009 à 12:02
Bonjour,

aucune demande particulière n'est à faire, vous pouvez utiliser l'OCX directement.

Il faut seulement respecter la licence apposée à ce projet (GNU LGPL) (voir le fichier licence.txt dans le *.zip, ou ici http://fr.wikipedia.org/wiki/Licence_publique_générale_limitée_GNU)

Donc en gros, il est possible d'utiliser sans problèmes ce code dans un projet propriétaire sans avoir à rendre tout le code source du projet propriétaire sous licence libre (et heureusement d'ailleurs !)

Pour simplifier, si vous réutilisez ces controles sous LGPL dans votre logiciel, les restrictions seront :
- conserver le copyright du fichier OCX
- conserver la licence LGPL du fichier OCX et la fournir avec le fichier OCX

Rien ne changera pour votre logiciel de maintenance (grâce au "L" de LGPL ^_^)

@+
andalo Messages postés 102 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 20 octobre 2012
25 nov. 2009 à 11:04
Bonjour, Je viens d'essayer vainement d'entrer un caractère de tabulation dans une routine de remplissage pour un vklistbox:

combo.List(combo.ListCount) = Rstchamp1 & vbTab & Rstchamp2

Les essais en remplacant VbTab par vbkeytab, ou chr(9) sont sans résultat
Est ce possible?
philbar71 Messages postés 70 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 5 juillet 2013
25 nov. 2009 à 12:06
Quel boulot !
C'est superbe !!!
niczob Messages postés 11 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 09:07
Bonjour Violent_Ken, j'ai un bug avec les tooltips : avec un vkCommand (ou vkToggle) contenant une image, le tooltip ne s'affiche pas lorsque la souris est sur l'image, il s'affiche seulement lorsque le pointeur est à l'intérieur du bouton ET en dehors de l'image.
Je n'ai pas encore regardé le code, mais je ne vais pas tarder à le faire.

Cordialement.
Rejoignez-nous