Salut, voilà ma série de contrôles au style XP... ou autre style, puisque les couleurs sont paramétrables !
Comme je bossait à changer l'interface de https://sourceforge.net/projects/hexeditorvb/ , je me suis dit : "faisons une série complète de contrôles à la sauce XP et postons les sur vbfrance !"
Du coup j'ai repris 3 de mes controles (ProgressBar, Frame et KeyMouseEvents) et je les ai améliorés/débugés.
TOUS les contrôles (sauf la bar, je vais régler le bug) gèrent les évenements MouseMove, MouseDblClick, MouseUp, MouseDown, MouseWheel, MouseHover (MouseEnter), MouseLeave, KeyDown, KeyUp.
Gestion de toutes les touches du clavier, des trois boutons de la souris et de la molette !
Gestion des raccourcis avec le '&'.
Support de l'Unicode !
AUCUNE dépendance n'est nécessaire.
Page de propriétés (--> "Personnaliser..." dans être propriétés) pour tous les contrôles graphiques.
Au programme :
- Label (nouveautés : bordure... ok c'est faible...)
- Option (nouveautés : transparence. Gère automatiquement les groupes lors du dépot sur la form)
- Check (nouveautés : transparence)
- ProgressBar (nouveautés : trop pour être citées ! A vous de regardez les propriétés ^^, ou rendez vous sur mon autre source ProgressBar stylée XP ^^)
- Frame (nouveautés : icone, couleurs à gradients paramétrables... voir ma source Frame a gradients de couleur)
- Command (nouveautés : icone (survol, simple et grisée), gradients, 6 styles par défaut)
- ToggleButton (Command avec une property Value, comme un Check)
- HScroll (nouveautés : plage de -+ 4.10^14, molette, couleurs...)
- VSCroll (idem que HSCroll)
- UpDown
- ListBox (plus rien à voir avec l'ancien ;) listview à une colonne avec icones, checks, chaque item est ENTIEREMENT configurable !! et elle fait également FileList, DriveList et FolderList !)
- TextBox (toutes les fonctions d'une classique + gestion de la zone Legende qui permet d'afficher du texte à gauche de la zone de texte, ou bien d'afficher la numérotation des lignes + ajout de functions de récupération d'info comme GetLine, LineCount, GetChar...) Cette textbox est basée sur un vbTextBox normale, et j'ai repris les diverses améliorations que proposait Renfield dans ses controles, en y corrigeant et ajoutant quelques options.
/!\ LA GESTION DE LA HSCROLL DE LA VKTEXTBOX N'EST PAS FINIE /!\
- ScrollContainer : c'est une sorte de Frame possédant des Scrolls pour pouvoir déplacer les composants à l'intérieur... voir le screenshot pour comprendre (tout en bas à gauche)
et aussi :
- MouseKeyEvents : permet d'ajouter les évênements MouseMove, MouseDblClick, MouseUp, MouseDown, MouseWheel, MouseHover (MouseEnter), MouseLeave, KeyDown, KeyUp à tous VOS contrôles ! (possédant la propriété hWnd)
C'est un de mes anciens codes, mais en amélioré (je ferais d'ailleurs uen MAJ de l'autre).
- Timer : c'est un timer haute précision... Dans sa version actuelle (qui marche), c'est strictement un timer VB en terme de précision. Des lignes en commentaires utilisent des APIs pour la haute précision, mais attention, cela ne marche pour l'instant QUE dans l'IDE pour des intervalles pas trop faibles. Si quelqu'un pouvait m'aider à trouver le(s) bug(s) ... merci ^^
Donc pour l'instant ==> marche mais identique à VB.
- vkSysTray : permet d'afficher une ou plusieurs icones dans le SysTray. Sont gérés les évenements MouseUp, MouseDown, MouseMove et MouseDblClick. Gestion automatique de la remise des icones en cas de crash d'explorer. Possibilité de controler plusieurs icones à partir d'un seul vkSysTray. Note : pour bénéficier de la gestion du crash d'explorer, il faut poser le controle vkSysTray DANS LA FORM (pas dans un autre container). Cela empechera par contre que vous puissiez faire vous même du subclassing de cette form.
Chaque controle possèdant un grand nombre de propriétés, c'est à vous de les tester !
/!\ LA GESTION DE LA HSCROLL DE LA VKTEXTBOX N'EST PAS FINIE /!\
/!\ Ce code est sous license GNU LGPL. La licence est fournie dans le *.zip.