2008-11-11 12 views
0

J'utilise un PictureBox VB6 sur mon contrôle utilisateur. J'ai mis l'image de la PictureBox, j'ai mis le BorderStyle à 0, et j'ai placé le BackColor au BackColor du contrôle d'utilisateur. L'idée est que je veux une icône "flottante". Cependant, je veux que cette icône apparaisse cliquable quand la souris passe dessus.VB6 PictureBox Mouseover

Deux questions:

  1. Quels sont les événements dois-je utiliser? MouseMove semble être le plus proche d'un événement "MouseOver". Y a-t-il des alternatives plus propres?

  2. Comment changer le style? J'ai essayé quelques petites choses, mais aucune d'entre elles ne semble vraiment correcte.

Répondre

2
  1. MouseMove est l'événement correct dans VB6. Vous devrez faire un peu de travail pour détecter manuellement quand la souris quitte proprement la zone client. (Mes expériences dans ce monde, il y a de nombreuses années, trouvaient toujours difficile d'implémenter ce comportement.)

  2. Pour changer de style, je recommande d'utiliser GDI pour: (a) déplacer l'image d'un pixel vers le haut et à gauche; (b) dessinez une seule ligne de pixels dans le ButtonHighlightColor le long des bords supérieur et gauche; et (c) dessinez une seule ligne de pixels dans le ButtonShadowColor le long des bords inférieur et droit. Ceci est plus délicat qu'il n'y paraît, en particulier dans VB6, donc en fin de compte, je vous recommande ...

que vous regardez vbAccelerator's toolbar controls. Ils sont gratuits, et ils vont probablement vous obtenir la plupart de l'endroit où vous voulez être. (Et oui, ils sont "classiques" VB - c'est-à-dire, VB6.)