Bouton contrôle fermer/reduire ocx (ctl) avec options, skinnable et près-skinné + gestion des boutons souris [bribe de skin

Soyez le premier à donner votre avis sur cette source.

Vue 8 366 fois - Téléchargée 1 639 fois


Description

ce contrôle est une partie du contrôle de SKIN B2 à venir.
il est déjà utilisable tel quel, mais séparément, il a assez peu d'intérêt ;)

évènements gérés :

Mouse Down }
Mouse Move } Button / Shift / X / Y
Mouse Up }

Mouse In } Survole ou sortie du bouton
Mouse Out }

Click } Button
Double-Click }

Error
  • Possibilité de choisir si les TRES RARES EVENTUELLES erreurs du contrôle sont affichées en MsgBox en plus de l'évènement Error
  • Possibilité de Basculer entre le mode Réduire ou Fermer sans avoir à changer le code sur la form
  • (impossible de basculer ce mode en exécution)
  • Les images "reduce.bmp" et "close.bmp" peuvent avoir des tailles différentes sans aucun paramétrage

(chemin et nom d'image fixes, pour le moment)
  • Possibilité de choisir si seul le bouton gauche ou tous les boutons de la souris animent le contrôle
  • hWnd et hDC accessibles
  • on peut "MouseDown-er", déplacer la souris hors du contrôle, la replacer, puis lacher pour obtenir tout de même le Click.
  • le Double-Click est par contre généré avant qu'un mouvement de souris ne soit possible.

Conclusion :


NB : un doubleclick ne génère qu'un seul MouseUp.
...dans la logique, le Mouse Up arrive avant le click. comme il est généré avant le doubleclick, je ne l'ai pas mis 'aussi' après. n'hésitez pas à me donner votre avis

pour l'évenement de réduction ou de fermeture à proprement dit, je ne l'ai pas géré dans le contrôle, par besoin différent personnel. si ce n'est pas votre cas, ajoutez simplement la ligne suivante -
If mTypeControl = 0 Then UserControl.Parent.WindowState = 1 Else Unload UserControl.Parent
- en fin de UserControl_Click(). il n'y a alors plus besoin d'aucun code dans la form. (en supposant qu'elle soit bien le conteneur du UControl)

bon, je crois qu'on a fait le tour...
c'est mon premier ocx, jamais ouvert un projet active X avant, alors si des yeux avisés pouvaient regarder de près, çà ne serait pas de refus...

'Débutants en OCX tout comme moi,
'commencez par :
'
' http://www.vbfrance.com/tutorial.aspx?ID=10
'ou
' http://membres.lycos.fr/cedric7/basic/index.html
' http://membres.lycos.fr/cedric7/basic/index2.html
' (par DHKold)
'
'et ensuite : (à voir, même rien que par curiosité)
' http://vrac-perso.site.voila.fr/activex_tuto.zip
' (par Frédéric Comte)

Merci à RenField pour la patience qu'il a eu à me lire aujourd'hui, et pour le courage qu'il va devoir avoir pour continuer à me supporter (ouai ouai, c'est pas fini va ;))
  • et la récupération du hDC et du hWnd, c'est de Rey :-p

Merci aussi à tous les programmeurs laissant des sources lisibles et compréhensibles

Mises à jour prévues :
  • Path images modifiable
  • Son Mouse In & Click en option
  • curseur Mouse In [.cur .ani .ico] en option (couleur j'espère)
  • selon vos propositions


Commentaires et notes, comme dab' (surtout commentaires du code svp, pour les expérimentés des UC)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
bon bah voilà, une belle petite mise à jour.
tout est expliqué.....

pour le curseur, pas mis, mais vous pouvez facilement y ajouter cette source http://www.vbfrance.com/code.aspx?id=32926

actuellement, çà me semble correct. encore 2 3 bricoles, mais je ne crois pas mettre cette source à jour (sauf demandes...)

dites-moi ce que vous en pensez, ou ce que j'ai pu oublier....
ps : cet exemple contient 67 contrôles, normalement, il n'y en a que 2, alors pensez que si çà rame, c'est un peu normal ;)

ce que j'ai voulu faire, c'est un effet à la perte de focus, donc pour tester, lancer la fenêtre, et cliquez ailleurs :-p

@ bientôt
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
Nico -> bah soit pas trop pressé, comme je fais un peu 10000 trucs à la fois, çà m'étonnerait que j'ai le temps de finir même rien que cette année ;)
celà dit, j'essayerais de poster un début, c'est à dire juste une "mini fausse skin", un contrôle contenant une image fixe, mon fameux bouton fermer/réduire, avec couleur invisible.

ScSami -> à moins d'avoir mal compris ta phase, mais sinon, non ; je parlais du bouton pour sa valeur. une appli comme photoshop (bien faite en vb) peux mériter 10 comme une ... calculatrice peut mériter autant. c'est proportionnel ;) (c'est plus clair?)
Et pour Nix et Val... considère juste que c'était une Private Joke ;)

All -> là, toujours sur ce contrôle, j'en suis à :
*mettre un effet dynamique pour la perte de focus de la form le contenant (Gris, Blur, Saturation, etc...) en m'aidant de la souce de FredLynx (3783)
*apparition d'une Form VbModal remplaçant le vulgaire PropertyPage (déjà fonctionnel, reste quelques problèmes pour enregistrer correctement dans le PropBag)

je mettrais à jour cette source avec un simple exemple + ocx compilé, les améliorations sont assez minimes, c'est du brodage là ;)

PCPT
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
22
Je pense qu'il parlait du projet finale : faire une skine!!!
Je me trompe PCPT ???

Dit, au fait, tu m'as pas répondu concernant Nix et Val !?!?!?
Messages postés
395
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
19 juin 2009
1
tu as dit "pas encore finnis alors j'attend la fin du projet pour noter
:)
(pour le moment je meterrai 8 ou 9 !)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
merci, je fais tout pour...
n'oublie pas la note, çà donne une vague estimation de la valeur du travail (sur le sujet bien sur....)

PCPT
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.