2008-11-11 2 views
0

Я использую PictureBox VB6 в своем User Control. Я установил изображение PictureBox, я установил BorderStyle в 0, и я установил BackColor в BackColor User Control. Идея заключается в том, что я хочу «плавающий» значок. Тем не менее, я хочу, чтобы этот значок отображался кликабельным, когда мышь нависает над ним.VB6 PictureBox Mouseover

Два вопроса:

  1. Какие события я использую? MouseMove, похоже, ближе всего к событию «MouseOver». Существуют ли более чистые альтернативы?

  2. Как изменить стиль? Я пробовал несколько вещей, но никто из них не выглядел правильно.

ответ

2
  1. MouseMove является правильным событием в VB6. Вам нужно будет выполнить некоторую работу, чтобы вручную обнаружить, когда мышь покидает клиентскую область. (Мои эксперименты в этом мире, много лет назад, всегда считали, что выполнение этого поведения сложно.)

  2. Для изменения стиля я бы рекомендовал использовать GDI для: (a) сдвинуть изображение на один пиксель вверх и влево; (b) нарисуйте одну пиксельную линию в ButtonHighlightColor вдоль верхнего и левого краев; и (c) нарисуйте одну пиксельную линию в ButtonShadowColor вдоль нижнего и правого краев. Это сложнее, чем кажется, особенно в VB6, так что в конце концов я рекомендовал бы ...

Что ты смотришь на vbAccelerator's toolbar controls. Они свободны, и они, вероятно, доставят вам больше всего, где вы хотите. (И да, они «классические» VB, то есть VB6.)