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


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

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.